summaryrefslogtreecommitdiff
path: root/yjit.rb
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2021-05-04 12:35:51 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2021-10-20 18:19:34 -0400
commit0758115d112a1ff452876d3689d20e84d5ff1e37 (patch)
tree50100b0e79bb92d2df0f70a1d2056fe0071e9426 /yjit.rb
parent59e5f6b83b3d55fb4a2e4d9669c31d5f31b1fda0 (diff)
Implement send with blocks
* Implement send with blocks Not that much extra work compared to `opt_send_without_block`. Moved the stack over flow check because it could've exited after changes are made to cfp. * rename oswb counters * Might as well implement sending block to cfuncs * Disable sending blocks to cfuncs for now * Reconstruct interpreter sp before calling into cfuncs In case the callee cfunc calls a method or delegates to a block. This also has the side benefit of letting call sites that sometimes are iseq calls and sometimes cfunc call share the same successor. * only sync with interpreter sp when passing a block Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Co-authored-by: Aaron Patterson <aaron.patterson@shopify.com>
Diffstat (limited to 'yjit.rb')
-rw-r--r--yjit.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/yjit.rb b/yjit.rb
index 8203051b81..cd3ad4d652 100644
--- a/yjit.rb
+++ b/yjit.rb
@@ -82,7 +82,7 @@ module YJIT
$stderr.puts("Number of bindings allocated: %d\n" % counters[:binding_allocations])
$stderr.puts("Number of locals modified through binding: %d\n" % counters[:binding_set])
- print_counters(counters, prefix: 'oswb_', prompt: 'opt_send_without_block exit reasons: ')
+ print_counters(counters, prefix: 'send_', prompt: 'method call exit reasons: ')
print_counters(counters, prefix: 'leave_', prompt: 'leave exit reasons: ')
print_counters(counters, prefix: 'getivar_', prompt: 'getinstancevariable exit reasons:')
print_counters(counters, prefix: 'setivar_', prompt: 'setinstancevariable exit reasons:')