File tree Expand file tree Collapse file tree 3 files changed +24
-17
lines changed Expand file tree Collapse file tree 3 files changed +24
-17
lines changed Original file line number Diff line number Diff line change 22|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33?? ??? ????, PHP 8.4.16
44
5+ - Core:
6+ . Sync all boost.context files with release 1.86.0. (mvorisek)
7+
58- Date:
69 . Fix crashes when trying to instantiate uninstantiable classes via date
710 static constructors. (ndossche)
Original file line number Diff line number Diff line change 4949.type jump_fcontext, @function
5050
5151#define ARG_OFFSET 0
52- #define GR_OFFSET 16
53- #define FP_OFFSET 96
54- #define FPC_OFFSET 160
55- #define PC_OFFSET 168
56- #define CONTEXT_SIZE 176
52+ #define GR_OFFSET 16
53+ #define R14_OFFSET 88
54+ #define FP_OFFSET 96
55+ #define FPC_OFFSET 160
56+ #define PC_OFFSET 168
57+ #define CONTEXT_SIZE 176
5758
5859#define REG_SAVE_AREA_SIZE 160
5960
@@ -131,11 +132,14 @@ jump_fcontext:
131132 ltg %r2,GR_OFFSET(%r15 )
132133 jnz use_return_slot
133134
134- /* We restore a make_fcontext context. Use the function
135- argument slot in the context we just saved and allocate the
136- register save area for the target function. */
137- la %r2,ARG_OFFSET(%r1)
138- aghi %r15 ,-REG_SAVE_AREA_SIZE
135+ /* We're restoring a context created by make_fcontext.
136+ This is going to be the argument of the entry point
137+ of the fiber. We're placing it on top of the ABI
138+ defined register save area of the fiber's own stack. */
139+ la %r2,REG_SAVE_AREA_SIZE(%r15 )
140+
141+ /* REG_SAVE_AREA_SIZE + sizeof(transfer_t) */
142+ aghi %r15 ,-(REG_SAVE_AREA_SIZE+16 )
139143
140144use_return_slot:
141145 /* Save the two fields in transfer_t. When calling a
Original file line number Diff line number Diff line change 4949.type make_fcontext, @function
5050
5151#define ARG_OFFSET 0
52- #define GR_OFFSET 16
53- #define R14_OFFSET 88
54- #define FP_OFFSET 96
55- #define FPC_OFFSET 160
56- #define PC_OFFSET 168
57- #define CONTEXT_SIZE 176
52+ #define GR_OFFSET 16
53+ #define R14_OFFSET 88
54+ #define FP_OFFSET 96
55+ #define FPC_OFFSET 160
56+ #define PC_OFFSET 168
57+ #define CONTEXT_SIZE 176
5858
5959/*
6060
@@ -72,7 +72,7 @@ r4 - The address of the context function
7272make_fcontext:
7373 .machine "z10"
7474 /* Align the stack to an 8 byte boundary. */
75- nill %r2,0xfff0
75+ nill %r2,0xfff8
7676
7777 /* Allocate stack space for the context. */
7878 aghi %r2,-CONTEXT_SIZE
You can’t perform that action at this time.
0 commit comments