diff options
author | Alan Wu <[email protected]> | 2020-08-31 22:48:34 -0400 |
---|---|---|
committer | Alan Wu <[email protected]> | 2020-09-01 22:02:29 -0400 |
commit | 4c3f0597de99103374012522beecadeaa9e25eed (patch) | |
tree | 493fda46e4d0afe2182fe36d20852a89d6c1bab6 | |
parent | 94b54b038c1f4d6d2b54e10dd0305b1bc283449b (diff) |
Remove the pc argument of vm_trace()
This makes the binary 272 bytes smaller on -O3 GCC 10.2.0.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3494
-rw-r--r-- | tool/ruby_vm/views/_trace_instruction.erb | 2 | ||||
-rw-r--r-- | vm_insnhelper.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/tool/ruby_vm/views/_trace_instruction.erb b/tool/ruby_vm/views/_trace_instruction.erb index be2b091d48..d604e0318b 100644 --- a/tool/ruby_vm/views/_trace_instruction.erb +++ b/tool/ruby_vm/views/_trace_instruction.erb @@ -10,7 +10,7 @@ /* insn <%= insn.pretty_name %> */ INSN_ENTRY(<%= insn.name %>) { - vm_trace(ec, GET_CFP(), GET_PC()); + vm_trace(ec, GET_CFP()); DISPATCH_ORIGINAL_INSN(<%= insn.jump_destination %>); END_INSN(<%= insn.name %>); } diff --git a/vm_insnhelper.c b/vm_insnhelper.c index f1c293a50a..9dcd75cc6c 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -4902,7 +4902,7 @@ vm_opt_regexpmatch2(VALUE recv, VALUE obj) rb_event_flag_t rb_iseq_event_flags(const rb_iseq_t *iseq, size_t pos); -NOINLINE(static void vm_trace(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, const VALUE *pc)); +NOINLINE(static void vm_trace(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp)); static inline void vm_trace_hook(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, const VALUE *pc, @@ -4955,8 +4955,9 @@ rb_vm_opt_cfunc_p(CALL_CACHE cc, int insn) } while (0) static void -vm_trace(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, const VALUE *pc) +vm_trace(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp) { + const VALUE *pc = reg_cfp->pc; rb_event_flag_t enabled_flags = ruby_vm_event_flags & ISEQ_TRACE_EVENTS; if (enabled_flags == 0 && ruby_vm_event_local_num == 0) { |