Update PC in memory when exiting jitted code
Without this, the allocation tracker was inaccurate and was causing a failure in `test/objspace/test_objspace.rb`.
This commit is contained in:
parent
86c438d129
commit
2eaf55fcf1
@ -212,6 +212,8 @@ ujit_compile_insn(rb_iseq_t *iseq, unsigned int insn_idx, unsigned int* next_uji
|
|||||||
|
|
||||||
// Directly return the next PC, which is a constant
|
// Directly return the next PC, which is a constant
|
||||||
mov(cb, RAX, const_ptr_opnd(ctx.pc));
|
mov(cb, RAX, const_ptr_opnd(ctx.pc));
|
||||||
|
// Write PC back into the CFP
|
||||||
|
mov(cb, mem_opnd(64, RDI, 0), RAX);
|
||||||
|
|
||||||
// Write the post call bytes
|
// Write the post call bytes
|
||||||
ujit_instr_exit(cb);
|
ujit_instr_exit(cb);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user