summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
Diffstat (limited to 'tool')
-rw-r--r--tool/ruby_vm/views/_mjit_compile_insn.erb11
1 files changed, 10 insertions, 1 deletions
diff --git a/tool/ruby_vm/views/_mjit_compile_insn.erb b/tool/ruby_vm/views/_mjit_compile_insn.erb
index 0b3f1b56e4..8821ad7747 100644
--- a/tool/ruby_vm/views/_mjit_compile_insn.erb
+++ b/tool/ruby_vm/views/_mjit_compile_insn.erb
@@ -40,7 +40,16 @@
%
% # JIT: Initialize operands
% insn.opes.each_with_index do |ope, i|
- fprintf(f, " <%= ope.fetch(:name) %> = (<%= ope.fetch(:type) %>)0x%"PRIxVALUE";\n", operands[<%= i %>]);
+ fprintf(f, " <%= ope.fetch(:name) %> = (<%= ope.fetch(:type) %>)0x%"PRIxVALUE";", operands[<%= i %>]);
+% case ope.fetch(:type)
+% when 'ID'
+ comment_id(f, (ID)operands[<%= i %>]);
+% when 'CALL_INFO'
+ comment_id(f, ((CALL_INFO)operands[<%= i %>])->mid);
+% when 'VALUE'
+ if (SYMBOL_P((VALUE)operands[<%= i %>])) comment_id(f, SYM2ID((VALUE)operands[<%= i %>]));
+% end
+ fprintf(f, "\n");
% end
%
% # JIT: Initialize popped values