1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Sync all boost.context files with release 1.86.0

Closes GH-20375.
This commit is contained in:
Michael Voříšek
2025-11-03 15:14:23 +01:00
committed by Niels Dossche
parent 7c96263cee
commit 3b2f03d16c
3 changed files with 24 additions and 17 deletions

3
NEWS
View File

@@ -2,6 +2,9 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.3.29
- Core:
. Sync all boost.context files with release 1.86.0. (mvorisek)
- Date:
. Fix crashes when trying to instantiate uninstantiable classes via date
static constructors. (ndossche)

View File

@@ -49,11 +49,12 @@
.type jump_fcontext, @function
#define ARG_OFFSET 0
#define GR_OFFSET 16
#define FP_OFFSET 96
#define FPC_OFFSET 160
#define PC_OFFSET 168
#define CONTEXT_SIZE 176
#define GR_OFFSET 16
#define R14_OFFSET 88
#define FP_OFFSET 96
#define FPC_OFFSET 160
#define PC_OFFSET 168
#define CONTEXT_SIZE 176
#define REG_SAVE_AREA_SIZE 160
@@ -131,11 +132,14 @@ 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.
This is going to be the argument of the entry point
of the fiber. We're placing it on top of the ABI
defined register save area of the fiber's own stack. */
la %r2,REG_SAVE_AREA_SIZE(%r15)
/* REG_SAVE_AREA_SIZE + sizeof(transfer_t) */
aghi %r15,-(REG_SAVE_AREA_SIZE+16)
use_return_slot:
/* Save the two fields in transfer_t. When calling a

View File

@@ -49,12 +49,12 @@
.type make_fcontext, @function
#define ARG_OFFSET 0
#define GR_OFFSET 16
#define R14_OFFSET 88
#define FP_OFFSET 96
#define FPC_OFFSET 160
#define PC_OFFSET 168
#define CONTEXT_SIZE 176
#define GR_OFFSET 16
#define R14_OFFSET 88
#define FP_OFFSET 96
#define FPC_OFFSET 160
#define PC_OFFSET 168
#define CONTEXT_SIZE 176
/*
@@ -72,7 +72,7 @@ r4 - The address of the context function
make_fcontext:
.machine "z10"
/* Align the stack to an 8 byte boundary. */
nill %r2,0xfff0
nill %r2,0xfff8
/* Allocate stack space for the context. */
aghi %r2,-CONTEXT_SIZE