Box: skip checking the current box is the root box
Because checking the current box is not a cheap process.
Add 4.0 to the spec_guards workflow
Update ruby/setup-ruby action to v1.276.0
Box: allocate classes as boxable when it happens in the root box
Without this change, classes (including iclass) are allocated as un-boxable classes after initializing user boxes (after starting script evaluation). Under this situation, iclasses are created as...
[ruby/prism] Optimize ruby visitor
compact_child_nodes allocates an array. We can skip that step by simply yielding the nodes.
compact_child_nodes
Benchmark for visiting the rails codebase:
require "prism" require "benchmark/ips" files = Dir.glob("../rails/**/*.rb")...
[ruby/prism] Report missing end errors at opening token
This commit adds an expect1_opening function that expects a token and attaches the error to the opening token location rather than the current position. This is useful for errors about missing closing tokens, where...
expect1_opening
[ruby/prism] Add unterminated construct tests
https://github.com/ruby/prism/commit/166764f794
Implement moving Immix in MMTk
This commit implements moving Immix in MMTk, which allows objects to move in the GC.
The performance of this implementation is not yet amazing. It is very similar to non-moving Immix in many of them and slightly slower in others....
Add rb_gc_move_obj_during_marking
Add rb_gc_register_pinning_obj
View all revisions | View revisions
Also available in: Atom