Skip to content

Commit 29a7082

Browse files
committed
Update IR
IR commit: 81047af575864c5dfd5fda62394ada46cc9cae27
1 parent 566100d commit 29a7082

File tree

8 files changed

+698
-18
lines changed

8 files changed

+698
-18
lines changed

ext/opcache/jit/ir/ir.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1424,13 +1424,23 @@ int ir_mem_unmap(void *ptr, size_t size)
14241424

14251425
int ir_mem_protect(void *ptr, size_t size)
14261426
{
1427-
mprotect(ptr, size, PROT_READ | PROT_EXEC);
1427+
if (mprotect(ptr, size, PROT_READ | PROT_EXEC) != 0) {
1428+
#ifdef IR_DEBUG
1429+
fprintf(stderr, "mprotect() failed\n");
1430+
#endif
1431+
return 0;
1432+
}
14281433
return 1;
14291434
}
14301435

14311436
int ir_mem_unprotect(void *ptr, size_t size)
14321437
{
1433-
mprotect(ptr, size, PROT_READ | PROT_WRITE);
1438+
if (mprotect(ptr, size, PROT_READ | PROT_WRITE) != 0) {
1439+
#ifdef IR_DEBUG
1440+
fprintf(stderr, "mprotect() failed\n");
1441+
#endif
1442+
return 0;
1443+
}
14341444
return 1;
14351445
}
14361446

ext/opcache/jit/ir/ir.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,10 @@ struct _ir_ctx {
564564
int32_t fixed_stack_frame_size; /* fixed stack allocated by generated code for spills and registers save/restore */
565565
int32_t fixed_call_stack_size; /* fixed preallocated stack for parameter passing (default 0) */
566566
uint64_t fixed_save_regset; /* registers that always saved/restored in prologue/epilogue */
567+
uint32_t locals_area_size;
568+
uint32_t gp_reg_params;
569+
uint32_t fp_reg_params;
570+
int32_t param_stack_size;
567571
ir_live_interval **live_intervals;
568572
ir_arena *arena;
569573
ir_live_range *unused_ranges;
@@ -581,7 +585,6 @@ struct _ir_ctx {
581585
int32_t call_stack_size; /* stack for parameter passing (used by register allocator and code generator) */
582586
uint64_t used_preserved_regs;
583587
#ifdef IR_TARGET_X86
584-
int32_t param_stack_size;
585588
int32_t ret_slot;
586589
#endif
587590
uint32_t rodata_offset;

0 commit comments

Comments
 (0)