ZJIT: Restore test_recompile_no_profile_send test
Keep the original SideExit recompile test alongside the new final-version test since they cover different behaviors. Remove the intermediate HIR snapshot since hir_string() now sees the auto-compiled version as final.
ZJIT: Look up final version status dynamically
Instead of storing is_final_version as a field on Function, compute it dynamically in convert_no_profile_sends by checking the payload's version count against MAX_ISEQ_VERSIONS.
ZJIT: Skip convert_no_profile_sends on the final ISEQ version
When an ISEQ has already reached MAX_ISEQ_VERSIONS, converting no-profile sends to SideExits is counterproductive: the exit fires every time but can never trigger recompilation. Keep them as Send...
Bump irb version to fix a flaky test
https://github.com/ruby/irb/pull/1191
ZJIT: Check native stack before compiling ISEQs (#16576)
When the native/machine stack is nearly exhausted, don't compile and enter ZJIT code. JIT-compiled code uses more native stack per call frame than the interpreter, so falling back to the interpreter avoids...
ZJIT: Fix profile_stack to skip block arg for ARGS_BLOCKARG sends (#16581)
For sends with ARGS_BLOCKARG (e.g. foo(&block)), the block arg sits on the stack above the receiver and regular arguments. The profiling (both interpreter and exit profiling) only records types for the...
foo(&block)
Remove class alloc check
This checks that the value returned from the function registered with rb_define_alloc_func is of the correct class. When this was first introduced in 1fe40b7cc5 (by Matz on 2001-10-03), allocation was done via user-defined Object#allocate, so it made sense to have a runtime...
[ruby/prism] Also handle string conversion in Ripper.lex
Ripper.lex
In ripper, both go through the same converion logic. Needed for rspec, no other failures in their own tests
ripper
https://github.com/ruby/prism/commit/510258aa2b
[ruby/prism] Implement various string start/end events for ripper
tstring_beg in particular is needed by yard.
tstring_beg
yard
Before:
1980 examples, 606 failures, 15 pending After: 1980 examples, 582 failures, 15 pending
Thought it would be more, but oh well. It needs on_sp which I guess is why there are not many new passes...
on_sp
[ruby/openssl] Fix potential UAF in ossl_crypto_fixed_length_secure_compare
StringValue() can invoke an object's #to_str method, which may execute arbitrary Ruby code. If #to_str mutates the other string argument during comparison, its buffer may be reallocated, leaving a previously obtained...
View all revisions | View revisions
Also available in: Atom