From 6539bc34fb1560b67e723c69f7985fc788842d45 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Sun, 30 May 2004 10:14:30 +0000 Subject: [PATCH] Fix a cpu vs non-cpu register problem in the floating-point "push" operations for x86. --- ChangeLog | 3 +++ jit/jit-rules-x86.sel | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index cef811f..2d8fc27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,9 @@ "jit_insn_flush_defer_pop", to defer the popping of function call arguments as long as possible. + * jit/jit-rules-x86.sel: fix a cpu vs non-cpu register problem + in the floating-point "push" operations for x86. + 2004-05-29 Rhys Weatherley * jit/jit-insn.c, jit/jit-reg-alloc.c, jit/jit-reg-alloc.h, diff --git a/jit/jit-rules-x86.sel b/jit/jit-rules-x86.sel index 609dc31..f849048 100644 --- a/jit/jit-rules-x86.sel +++ b/jit/jit-rules-x86.sel @@ -874,7 +874,7 @@ JIT_OP_PUSH_FLOAT32: unary_note, stack [reg] -> { x86_alu_reg_imm(inst, X86_SUB, X86_ESP, sizeof(jit_float32)); x86_fst_membase(inst, X86_ESP, 0, 0, 1); - _jit_regs_free_reg(gen, $1, 1); + _jit_regs_free_reg(gen, reg, 1); } JIT_OP_PUSH_FLOAT64: unary_note, stack @@ -890,7 +890,7 @@ JIT_OP_PUSH_FLOAT64: unary_note, stack [reg] -> { x86_alu_reg_imm(inst, X86_SUB, X86_ESP, sizeof(jit_float64)); x86_fst_membase(inst, X86_ESP, 0, 1, 1); - _jit_regs_free_reg(gen, $1, 1); + _jit_regs_free_reg(gen, reg, 1); } JIT_OP_PUSH_NFLOAT: unary_note, stack @@ -922,7 +922,7 @@ JIT_OP_PUSH_NFLOAT: unary_note, stack x86_alu_reg_imm(inst, X86_SUB, X86_ESP, sizeof(jit_float64)); x86_fst_membase(inst, X86_ESP, 0, 1, 1); } - _jit_regs_free_reg(gen, $1, 1); + _jit_regs_free_reg(gen, reg, 1); } JIT_OP_PUSH_STRUCT: unary_note -- 2.47.3