mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
mjit_compile.c: drop catch table handling
The loop for `vm_exce_handle_exception` doesn't trigger `mjit_exec`, so I don't think this code is no longer needed. This was needed in development of original version of this JIT, but it seems not needed from the beginning (r62189) at Ruby repository. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8b9e877b1f
commit
d2c6ed6b07
1 changed files with 2 additions and 6 deletions
|
@ -214,7 +214,8 @@ mjit_compile(FILE *f, const struct rb_iseq_constant_body *body, const char *func
|
|||
fprintf(f, " static const VALUE *const original_body_iseq = (VALUE *)0x%"PRIxVALUE";\n",
|
||||
(VALUE)body->iseq_encoded);
|
||||
|
||||
/* Simulate `opt_pc` in setup_parameters_complex */
|
||||
/* Simulate `opt_pc` in setup_parameters_complex. Other PCs which may be passed by catch tables
|
||||
are not considered since vm_exec doesn't call mjit_exec for catch tables. */
|
||||
if (body->param.flags.has_opt) {
|
||||
int i;
|
||||
fprintf(f, "\n");
|
||||
|
@ -227,11 +228,6 @@ mjit_compile(FILE *f, const struct rb_iseq_constant_body *body, const char *func
|
|||
fprintf(f, " }\n");
|
||||
}
|
||||
|
||||
/* ISeq might be used for catch table too. For that usage, this code cancels JIT execution. */
|
||||
fprintf(f, " if (reg_cfp->pc != original_body_iseq) {\n");
|
||||
fprintf(f, " return Qundef;\n");
|
||||
fprintf(f, " }\n");
|
||||
|
||||
compile_insns(f, body, 0, 0, &status);
|
||||
compile_cancel_handler(f, body, &status);
|
||||
fprintf(f, "\n} /* end of %s */\n", funcname);
|
||||
|
|
Loading…
Add table
Reference in a new issue