summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2020-06-25 23:50:18 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2020-06-25 23:50:19 -0700
commit40b40523dcf957fa9459c1c1037ad79d73867f83 (patch)
treee28486dabfd8a98f6aed666358da9ca15df1f8e6
parent7982dc1dfd5df000b7361ccb7bc820da4f3547b8 (diff)
Show what's inlined first in "JIT inline" log
and add a debug log
-rw-r--r--mjit_compile.c6
-rw-r--r--tool/ruby_vm/views/_mjit_compile_send.erb3
2 files changed, 6 insertions, 3 deletions
diff --git a/mjit_compile.c b/mjit_compile.c
index 8ceab558dd..40cea80817 100644
--- a/mjit_compile.c
+++ b/mjit_compile.c
@@ -459,10 +459,10 @@ precompile_inlinable_iseqs(FILE *f, const rb_iseq_t *iseq, struct compile_status
if (mjit_opts.verbose >= 1) // print beforehand because ISeq may be GCed during copy job.
fprintf(stderr, "JIT inline: %s@%s:%d => %s@%s:%d\n",
- RSTRING_PTR(iseq->body->location.label),
- RSTRING_PTR(rb_iseq_path(iseq)), FIX2INT(iseq->body->location.first_lineno),
RSTRING_PTR(child_iseq->body->location.label),
- RSTRING_PTR(rb_iseq_path(child_iseq)), FIX2INT(child_iseq->body->location.first_lineno));
+ RSTRING_PTR(rb_iseq_path(child_iseq)), FIX2INT(child_iseq->body->location.first_lineno),
+ RSTRING_PTR(iseq->body->location.label),
+ RSTRING_PTR(rb_iseq_path(iseq)), FIX2INT(iseq->body->location.first_lineno));
struct compile_status child_status = { .compiled_iseq = status->compiled_iseq, .compiled_id = status->compiled_id };
INIT_COMPILE_STATUS(child_status, child_iseq->body, false);
diff --git a/tool/ruby_vm/views/_mjit_compile_send.erb b/tool/ruby_vm/views/_mjit_compile_send.erb
index 8c1c1c094d..6b271d4d74 100644
--- a/tool/ruby_vm/views/_mjit_compile_send.erb
+++ b/tool/ruby_vm/views/_mjit_compile_send.erb
@@ -30,6 +30,9 @@
&& fastpath_applied_iseq_p(ci, captured_cc, iseq = def_iseq_ptr(vm_cc_cme(captured_cc)->def))
&& !(vm_ci_flag(ci) & VM_CALL_TAILCALL))
)) {
+ if (false && vm_cc_cme(captured_cc)->def->type == VM_METHOD_TYPE_CFUNC)
+ fprintf(stderr, " * %s\n", rb_id2name(vm_ci_mid(ci)));
+
int sp_inc = (int)sp_inc_of_sendish(ci);
fprintf(f, "{\n");