2
0
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:
ltrk2
2023-05-11 12:14:47 -07:00
parent 6ee7363738
commit e4e3014f3e
3 changed files with 7 additions and 6 deletions

View File

@@ -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

View File

@@ -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. */

View File

@@ -82,6 +82,7 @@ created via make_fcontext.
*/
ontop_fcontext:
.machine "z10"
/* Reserve stack space to store the current context. */
aghi %r15,-CONTEXT_SIZE