diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2024-02-23 11:08:09 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-23 19:08:09 +0000 |
commit | 8a6740c70edf39cdf6230659d191240c43dc6d22 (patch) | |
tree | 33ccb69b507392b7bc842dfe97e904f8a5bb4ef9 /yjit.rb | |
parent | 50ace992c75724aac6765b944f9017e21901e276 (diff) |
YJIT: Lazily push a frame for specialized C funcs (#10080)
* YJIT: Lazily push a frame for specialized C funcs
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
* Fix a comment on pc_to_cfunc
* Rename rb_yjit_check_pc to rb_yjit_lazy_push_frame
* Rename it to jit_prepare_lazy_frame_call
* Fix a typo
* Optimize String#getbyte as well
* Optimize String#byteslice as well
---------
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Diffstat (limited to 'yjit.rb')
-rw-r--r-- | yjit.rb | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -332,6 +332,10 @@ module RubyVM::YJIT out.puts "num_throw_break: " + format_number_pct(13, stats[:num_throw_break], stats[:num_throw]) out.puts "num_throw_retry: " + format_number_pct(13, stats[:num_throw_retry], stats[:num_throw]) out.puts "num_throw_return: " + format_number_pct(13, stats[:num_throw_return], stats[:num_throw]) + out.puts "num_lazy_frame_check: " + format_number(13, stats[:num_lazy_frame_check]) + out.puts "num_lazy_frame_push: " + format_number_pct(13, stats[:num_lazy_frame_push], stats[:num_lazy_frame_check]) + out.puts "lazy_frame_count: " + format_number(13, stats[:lazy_frame_count]) + out.puts "lazy_frame_failure: " + format_number(13, stats[:lazy_frame_failure]) out.puts "iseq_stack_too_large: " + format_number(13, stats[:iseq_stack_too_large]) out.puts "iseq_too_long: " + format_number(13, stats[:iseq_too_long]) |