Age | Commit message (Collapse) | Author |
|
Notes:
Merged: https://github.com/ruby/ruby/pull/13610
|
|
Ues more idiomatic rust approaches.
https://github.com/ruby/mmtk/commit/ef125f9eae
|
|
We also enable `#![warn(unsafe_op_in_unsafe_fn)]` in the whole mmtk_ruby
crate.
https://github.com/ruby/mmtk/commit/8b8025f71a
|
|
Remove the unused constant HAS_MOVED_GFIELDSTBL and related methods.
In the mmtk/mmtk-ruby repo, we are now able to find the global field
(IV) table of a moved object during copying GC without using the
HAS_MOVED_GFIELDSTBL bit. We synchronize some of the code, although we
haven't implemented moving GC in ruby/mmtk, yet.
See: https://github.com/mmtk/mmtk-ruby/commit/13080acdf553f20a88a7ea9ab9f6877611017136
https://github.com/ruby/mmtk/commit/400ba4e747
|
|
And get rid of the `obj_to_id_tbl`
It's no longer needed, the `object_id` is now stored inline
in the object alongside instance variables.
We still need the inverse table in case `_id2ref` is invoked, but
we lazily build it by walking the heap if that happens.
The `object_id` concern is also no longer a GC implementation
concern, but a generic implementation.
Co-Authored-By: Matt Valentine-House <[email protected]>
Notes:
Merged: https://github.com/ruby/ruby/pull/13159
|
|
Ivars will longer be the only thing stored inline
via shapes, so keeping the `iv_index` and `ivptr` names
would be confusing.
Instance variables won't be the only thing stored inline
via shapes, so keeping the `ivptr` name would be confusing.
`field` encompass anything that can be stored in a VALUE array.
Similarly, `gen_ivtbl` becomes `gen_fields_tbl`.
Notes:
Merged: https://github.com/ruby/ruby/pull/13159
|
|
We rely on scan_vm_specific_roots to reach all stacks via the following
path:
VM -> ractors -> threads -> fibers -> stacks
https://github.com/ruby/mmtk/commit/0a6a835aaa
|
|
We now use `MMTK::handle_user_collection_request(true, ...)` to force
triggering a GC instead of enabling GC temporarily.
https://github.com/ruby/mmtk/commit/02ef47f818
|
|
https://github.com/ruby/mmtk/commit/9da566e26a
|
|
https://github.com/ruby/mmtk/commit/e52b973611
|
|
https://github.com/ruby/mmtk/commit/6a78ffaf16
|
|
https://github.com/ruby/mmtk/commit/5bbac70c69
|
|
https://github.com/ruby/mmtk/commit/810f897603
|
|
https://github.com/ruby/mmtk/commit/67da9ea5b8
|
|
https://github.com/ruby/mmtk/commit/836a9059cb
|
|
https://github.com/ruby/mmtk/commit/79ce2008a3
|
|
https://github.com/ruby/mmtk/commit/c8b1f4c156
|
|
https://github.com/ruby/mmtk/commit/4a24d55d91
|
|
https://github.com/ruby/mmtk/commit/1d2f7b9cfc
|
|
https://github.com/ruby/mmtk/commit/5c5c454f65
|
|
UNIQUE_OBJECT_ENQUEUING guarantees that object marking is atomic so that
an object cannot be marked more than once.
https://github.com/ruby/mmtk/commit/2f97fd8207
|
|
https://github.com/ruby/mmtk/commit/e4d6b56824
|
|
This commit implements the mark-sweep algorithm using MMTk and allows
customizing the plan using MMTK_PLAN.
https://github.com/ruby/mmtk/commit/6fea5e5ffc
Co-Authored-By: Matt Valentine-House <[email protected]>
|
|
This commit only supports initializing MMTk with NoGC and object
allocation.
https://github.com/ruby/mmtk/commit/39aa10e537
Co-Authored-By: Kunshan Wang <[email protected]>
|