Browse Source

Fixed JIT_OP_CALL_FINALLY

cache-refactoring
Aleksey Demakov 19 years ago
parent
commit
43444ac2d8
  1. 8
      ChangeLog
  2. 18
      jit/jit-rules-x86.sel

8
ChangeLog

@ -1,10 +1,14 @@
2006-02-12 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.sel: fix JIT_OP_CALL_FINALLY.
2006-02-10 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-bitset.c:
* jit/jit-bitset.h:
* jit/jit-cfg.c:
* jit/jit-cfg.h: initial code for a more precise liveness analyses
based on the control flow graph.
* jit/jit-cfg.h: initial code drop for a more precise liveness
analysis based on control flow graph.
2006-02-04 Aleksey Demakov <ademakov@gmail.com>

18
jit/jit-rules-x86.sel

@ -1879,7 +1879,23 @@ JIT_OP_LEAVE_FINALLY: spill_before
JIT_OP_CALL_FINALLY: spill_before
[] -> {
inst = output_branch(func, inst, 0xE8 /* call */, insn);
jit_block_t block;
block = jit_block_from_label(func, (jit_label_t)(insn->dest));
if(!block)
{
return;
}
if(block->address)
{
x86_call_code(inst, block->address);
}
else
{
x86_call_imm(inst, block->fixup_list);
block->fixup_list = (void *)(inst - 4);
}
}
JIT_OP_ENTER_FILTER: manual

Loading…
Cancel
Save