As we are doing a "call", we must specify all caller-saved registers as clobbered.
Cc: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro> Cc: Arthur HUILLET <arthur.huil...@free.fr> Signed-off-by: Pekka Enberg <penb...@cs.helsinki.fi> --- arch/x86/call.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/call.c b/arch/x86/call.c index bce0a81..424b093 100644 --- a/arch/x86/call.c +++ b/arch/x86/call.c @@ -211,6 +211,7 @@ static unsigned long native_call_gp(struct vm_method *method, __asm__ volatile ( /* Copy stack arguments onto the stack. */ + "movq %2, %%rsi \n" "movq %%rbx, %%rcx \n" "shl $3, %%rbx \n" "subq %%rbx, %%rsp \n" @@ -229,9 +230,9 @@ static unsigned long native_call_gp(struct vm_method *method, "call *%3 \n" "addq %%rbx, %%rsp \n" : "=a" (result) - : "b" (get_stack_args_count(method)), "S" (stack), + : "b" (get_stack_args_count(method)), "r" (stack), "m" (target), "a" (regs) - : "%rcx", "%rdi", "%r8", "%r9", "cc" + : "rdi", "rsi", "rdx", "rcx", "r8", "r9", "r10", "r11", "cc" ); free(stack); -- 1.6.3.3 ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel