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

Support for IR API changes

This commit is contained in:
Dmitry Stogov
2023-12-11 10:29:25 +03:00
parent f6376f5b12
commit 7714f1fcf2

View File

@@ -2729,6 +2729,7 @@ static int zend_jit_free_ctx(zend_jit_ctx *jit)
static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
{
void *entry;
ir_code_buffer code_buffer;
if (JIT_G(debug) & ZEND_JIT_DEBUG_IR_SRC) {
if (name) fprintf(stderr, "%s: ; after folding\n", name);
@@ -2817,10 +2818,15 @@ static void *zend_jit_ir_compile(ir_ctx *ctx, size_t *size, const char *name)
ir_check(ctx);
#endif
ctx->code_buffer = *dasm_ptr;
ctx->code_buffer_size = (char*)dasm_end - (char*)*dasm_ptr;
code_buffer.start = dasm_buf;
code_buffer.end = dasm_end;
code_buffer.pos = *dasm_ptr;
ctx->code_buffer = &code_buffer;
entry = ir_emit_code(ctx, size);
*dasm_ptr = code_buffer.pos;
if (entry) {
*dasm_ptr = (char*)entry + ZEND_MM_ALIGNED_SIZE_EX(*size, 16);
}
@@ -15791,9 +15797,16 @@ static const void *zend_jit_trace_allocate_exit_group(uint32_t n)
{
const void *entry;
size_t size;
ir_code_buffer code_buffer;
code_buffer.start = dasm_buf;
code_buffer.end = dasm_end;
code_buffer.pos = *dasm_ptr;
entry = ir_emit_exitgroup(n, ZEND_JIT_EXIT_POINTS_PER_GROUP, zend_jit_stub_handlers[jit_stub_trace_exit],
*dasm_ptr, (char*)dasm_end - (char*)*dasm_ptr, &size);
&code_buffer, &size);
*dasm_ptr = code_buffer.pos;
if (entry) {
*dasm_ptr = (char*)entry + ZEND_MM_ALIGNED_SIZE_EX(size, 16);