Repository navigation
Commit a18df5c
committed
Merge branch 'master' into ractor-check-isolation
Master moved the Ractor isolation checks from "is this the main Ractor" to
class ownership (rb_class_owned_p) and turned RUBY_MN_THREADS into a mode
integer. The conflicts are resolved by keeping master's conditions and
messages and routing them through rb_ractor_isolation_violation, so check
mode still downgrades them to warnings:
- variable.c, vm_insnhelper.c: ownership-based ivar/cvar/constant checks
warn in check mode. Class names are still formatted with rb_class_path,
since a user to_s could re-enter the same check now that it can return.
- variable.c: rb_gvar_get/rb_gvar_set used to skip the lookup work and raise
after releasing the VM lock. In check mode the entry is still created and
the access proceeds after the warning; otherwise it dereferenced NULL.
- class.c: rb_class_owner_check (def, include, define_method, ... on a class
owned by another Ractor) goes through the same warn-or-raise path, so a
check-mode sweep survives reopening a main-Ractor class.
- thread_sched.c: check mode raises RUBY_MN_THREADS to at least 1 and still
clamps RUBY_MAX_CPU to 1; an explicit =2 is kept.710 files changed
Lines changed: 31049 additions & 9675 deletions
File tree
- .github
- actions/setup/directories
- workflows
- benchmark
- bootstraptest
- coroutine
- amd64
- arm64
- asyncify
- emscripten
- ppc64le
- ppc64
- ppc
- pthread
- test
- ucontext
- doc
- NEWS
- contributing
- file
- jit
- language
- stringio
- string
- enc
- trans
- ext
- -test-
- gc/tdata_non_thread_safe_free
- gvl/call_without_gvl
- digest
- erb/escape
- io
- console
- lib/console
- wait
- json
- generator
- lib
- json
- parser
- objspace
- socket
- lib
- strscan
- gc
- default
- mmtk
- src
- heap
- gems
- include/ruby
- fiber
- internal
- attr
- core
- intern
- internal
- lib
- bundler
- cli
- doctor
- fetcher
- installer
- man
- source
- git
- rubygems
- erb
- net
- http
- prism
- translation
- parser
- rubygems
- commands
- compact_index_client
- ext
- gemcutter_utilities
- request
- resolver
- safe_marshal/visitors
- source
- util
- vendor
- net-http/lib/net
- resolv/lib
- syntax_suggest
- capture
- misc
- lldb_rb
- prism
- spec
- bundler
- bundler
- fetcher
- installer
- resolver
- source
- git
- rubygems
- commands
- install
- gemfile
- lock
- other
- realworld/fixtures
- tapioca
- warbler
- runtime
- support
- artifice
- helpers
- vendor/compact_index/lib
- compact_index
- mspec/lib/mspec/helpers
- ruby
- core
- array
- data
- encoding
- enumerator
- fiber
- fixtures
- file
- io
- buffer
- kernel
- marshal
- fixtures
- method
- module
- fixtures
- process
- proc
- set
- string
- thread
- backtrace/location
- unboundmethod
- warning
- fixtures
- language
- regexp
- library
- etc
- socket
- addrinfo
- socket
- optional/capi
- ext
- security
- syntax_suggest
- integration
- unit
- template
- test
- -ext-
- bug_reporter
- gc
- wait
- .excludes
- coverage
- erb
- error_highlight
- fiber
- fileutils
- io/console
- json
- net
- http
- protocol
- objspace
- prism
- api
- errors
- result
- resolv
- rubygems
- ruby
- socket
- stringio
- strscan
- tool
- bundler
- lib
- test
- unit
- test
- timeline/lib
- win32
- yjit
- bindgen/src
- src
- zjit
- bindgen/src
- src
- backend
- hir_type
- hir
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | | - | |
| 240 | + | |
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
| |||
539 | 539 | | |
540 | 540 | | |
541 | 541 | | |
542 | | - | |
| 542 | + | |
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
| |||
1100 | 1100 | | |
1101 | 1101 | | |
1102 | 1102 | | |
1103 | | - | |
| 1103 | + | |
1104 | 1104 | | |
1105 | 1105 | | |
1106 | 1106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
221 | | - | |
| 221 | + | |
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
26 | 31 | | |
27 | | - | |
28 | | - | |
29 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | | - | |
32 | | - | |
| 36 | + | |
| 37 | + | |
33 | 38 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
40 | 45 | | |
41 | | - | |
42 | | - | |
43 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
44 | 49 | | |
45 | | - | |
46 | | - | |
| 50 | + | |
| 51 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
0 commit comments