mirror of
https://github.com/corda/corda.git
synced 2025-01-08 14:03:06 +00:00
fix stack alignment for i386 continuations build
This commit is contained in:
parent
a30c593a69
commit
8f0f3182de
@ -104,6 +104,12 @@ LOCAL(vmInvoke_exit):
|
|||||||
#define CONTINUATION_LENGTH 28
|
#define CONTINUATION_LENGTH 28
|
||||||
#define CONTINUATION_BODY 32
|
#define CONTINUATION_BODY 32
|
||||||
|
|
||||||
|
#ifdef AVIAN_USE_FRAME_POINTER
|
||||||
|
# define CONTINUATION_ALIGNMENT_PADDING 8
|
||||||
|
#else
|
||||||
|
# define CONTINUATION_ALIGNMENT_PADDING 12
|
||||||
|
#endif
|
||||||
|
|
||||||
// call the next continuation, if any
|
// call the next continuation, if any
|
||||||
movl THREAD_CONTINUATION(%ebx),%ecx
|
movl THREAD_CONTINUATION(%ebx),%ecx
|
||||||
cmpl $0,%ecx
|
cmpl $0,%ecx
|
||||||
@ -113,7 +119,7 @@ LOCAL(vmInvoke_exit):
|
|||||||
// plus stack alignment padding
|
// plus stack alignment padding
|
||||||
movl CONTINUATION_LENGTH(%ecx),%esi
|
movl CONTINUATION_LENGTH(%ecx),%esi
|
||||||
shll $2,%esi
|
shll $2,%esi
|
||||||
leal 8(%esi),%esi
|
leal CONTINUATION_ALIGNMENT_PADDING(%esi),%esi
|
||||||
subl %esi,%esp
|
subl %esi,%esp
|
||||||
|
|
||||||
// copy the continuation body into the frame
|
// copy the continuation body into the frame
|
||||||
|
Loading…
Reference in New Issue
Block a user