X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=cacao.git;a=blobdiff_plain;f=src%2Fvm%2Fjit%2Fx86_64%2Fasmpart.S;h=bfeb1e0fe8f44a5a13750c4689f357f194b87d43;hp=e72711d14ba9788a007f937a30100bf510d4f696;hb=4bd464b88e2ca31eb0234dfe783d535058098d52;hpb=2ad677568dae0cd28c95ad0433fbab2cfa61cead diff --git a/src/vm/jit/x86_64/asmpart.S b/src/vm/jit/x86_64/asmpart.S index e72711d14..bfeb1e0fe 100644 --- a/src/vm/jit/x86_64/asmpart.S +++ b/src/vm/jit/x86_64/asmpart.S @@ -1,6 +1,6 @@ /* src/vm/jit/x86_64/asmpart.S - Java-C interface functions for x86_64 - Copyright (C) 1996-2005, 2006, 2007, 2008 + Copyright (C) 1996-2012 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -314,12 +314,14 @@ noflt: *******************************************************************************/ asm_abstractmethoderror: + sub $8,sp /* keep stack aligned */ mov sp,a0 /* pass java sp */ - add $1*8,a0 - mov 0*8(sp),a1 /* pass exception address */ + add $2*8,a0 + mov 1*8(sp),a1 /* pass exception address */ sub $3,a1 call exceptions_asm_new_abstractmethoderror@PLT /* exception pointer is return value */ + pop xpc /* dummy pop */ pop xpc /* get exception address */ sub $3,xpc /* exception address is ra - 3 */ jmp L_asm_handle_exception