projects
/
cacao.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Keep stack aligned.
[cacao.git]
/
src
/
vm
/
jit
/
x86_64
/
asmpart.S
diff --git
a/src/vm/jit/x86_64/asmpart.S
b/src/vm/jit/x86_64/asmpart.S
index e72711d14ba9788a007f937a30100bf510d4f696..bfeb1e0fe8f44a5a13750c4689f357f194b87d43 100644
(file)
--- 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
/* src/vm/jit/x86_64/asmpart.S - Java-C interface functions for x86_64
- Copyright (C) 1996-20
05, 2006, 2007, 2008
+ Copyright (C) 1996-20
12
CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
@@
-314,12
+314,14
@@
noflt:
*******************************************************************************/
asm_abstractmethoderror:
*******************************************************************************/
asm_abstractmethoderror:
+ sub $8,sp /* keep stack aligned */
mov sp,a0 /* pass java sp */
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 */
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
pop xpc /* get exception address */
sub $3,xpc /* exception address is ra - 3 */
jmp L_asm_handle_exception