diff options
author | Alan Wu <[email protected]> | 2020-09-22 18:24:55 -0400 |
---|---|---|
committer | Alan Wu <[email protected]> | 2021-10-20 18:19:23 -0400 |
commit | 265c5ca8b1ec599f609ea690bfd41f93f4d38cb1 (patch) | |
tree | 1bb17cc3cbc6eecc8cb07b5657060bbdd63bc96d /iseq.c | |
parent | 5bcba2a5ee5d331f6979fcaff11ac00ee15d7508 (diff) |
Avoid triggering GC while translating threaded code
Diffstat (limited to 'iseq.c')
-rw-r--r-- | iseq.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -163,6 +163,7 @@ static int iseq_extract_values(VALUE *code, size_t pos, iseq_value_itr_t * func, void *data, rb_vm_insns_translator_t * translator) { VALUE insn = translator((void *)code[pos]); + if (insn >= VM_INSTRUCTION_SIZE) rb_bug("invalid insn. translator=%p addr2insn=%p", (void *)translator, (void*)rb_vm_insn_addr2insn2); int len = insn_len(insn); int op_no; const char *types = insn_op_types(insn); |