mirror of
https://github.com/boostorg/context.git
synced 2026-01-19 04:02:17 +00:00
Store entry point arguments in fibre's own context (s390x)
This commit is contained in:
@@ -131,11 +131,11 @@ jump_fcontext:
|
||||
ltg %r2,GR_OFFSET(%r15)
|
||||
jnz use_return_slot
|
||||
|
||||
/* We restore a make_fcontext context. Use the function
|
||||
argument slot in the context we just saved and allocate the
|
||||
register save area for the target function. */
|
||||
la %r2,ARG_OFFSET(%r1)
|
||||
aghi %r15,-REG_SAVE_AREA_SIZE
|
||||
/* We're restoring a context created by make_fcontext.
|
||||
Use the function argument slot in the current context
|
||||
and make sure it isn't deallocated. */
|
||||
la %r2,ARG_OFFSET(%r15)
|
||||
aghi %r15,-CONTEXT_SIZE
|
||||
|
||||
use_return_slot:
|
||||
/* Save the two fields in transfer_t. When calling a
|
||||
|
||||
@@ -71,7 +71,7 @@ r4 - The address of the context function
|
||||
|
||||
make_fcontext:
|
||||
.machine "z10"
|
||||
/* Align the stack to an 8 byte boundary. */
|
||||
/* Align the stack to an 16 byte boundary. */
|
||||
nill %r2,0xfff0
|
||||
|
||||
/* Allocate stack space for the context. */
|
||||
|
||||
@@ -82,6 +82,7 @@ created via make_fcontext.
|
||||
*/
|
||||
|
||||
ontop_fcontext:
|
||||
.machine "z10"
|
||||
/* Reserve stack space to store the current context. */
|
||||
aghi %r15,-CONTEXT_SIZE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user