This fixes emit_lock_this() and emit_unlock_this() to use the saved
*this pointer.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>
---
 arch/x86/emit-code.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/emit-code.c b/arch/x86/emit-code.c
index ff22482..b363332 100644
--- a/arch/x86/emit-code.c
+++ b/arch/x86/emit-code.c
@@ -2995,7 +2995,7 @@ void emit_lock_this(struct buffer *buf)
 {
        emit_save_regparm(buf);
 
-       /* %rdi already contains *this. */
+       __emit64_mov_membase_reg(buf, MACH_REG_RBP, 0x08, MACH_REG_RDI);
        __emit_call(buf, vm_object_lock);
 
        emit_restore_regparm(buf);
@@ -3010,7 +3010,7 @@ void emit_unlock_this(struct buffer *buf)
        __emit_push_reg(buf, MACH_REG_RAX);
        emit_save_regparm(buf);
 
-       /* %rdi already contains *this. */
+       __emit64_mov_membase_reg(buf, MACH_REG_RBP, 0x08, MACH_REG_RDI);
        __emit_call(buf, vm_object_unlock);
 
        emit_exception_test(buf, MACH_REG_RAX);
-- 
1.6.0.6


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to