mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
_mjit_compile_insn.erb: comment_id
* tool/ruby_vm/views/_mjit_compile_insn.erb: comment ID of constant, calling method, and Symbol literal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4854b14bc3
commit
8d590c99ed
2 changed files with 32 additions and 1 deletions
|
@ -75,6 +75,28 @@ compile_case_dispatch_each(VALUE key, VALUE value, VALUE arg)
|
|||
return ST_CONTINUE;
|
||||
}
|
||||
|
||||
static void
|
||||
comment_id(FILE *f, ID id)
|
||||
{
|
||||
VALUE name = rb_id2str(id);
|
||||
const char *p, *e;
|
||||
char c, prev = '\0';
|
||||
|
||||
if (!name) return;
|
||||
p = RSTRING_PTR(name);
|
||||
e = RSTRING_END(name);
|
||||
fputs("/* :\"", f);
|
||||
for (; p < e; ++p) {
|
||||
switch (c = *p) {
|
||||
case '*': case '/': if (prev != (c ^ ('/' ^ '*'))) break;
|
||||
case '\\': case '"': fputc('\\', f);
|
||||
}
|
||||
fputc(c, f);
|
||||
prev = c;
|
||||
}
|
||||
fputs("\" */", f);
|
||||
}
|
||||
|
||||
static void compile_insns(FILE *f, const struct rb_iseq_constant_body *body, unsigned int stack_size,
|
||||
unsigned int pos, struct compile_status *status);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue