1 /* 2 * IR - Lightweight JIT Compilation Framework 3 * (IR/PHP integration) 4 * Copyright (C) 2022 Zend by Perforce. 5 * Authors: Dmitry Stogov <dmitry@php.net> 6 */ 7 8 #ifndef IR_PHP_H 9 #define IR_PHP_H 10 11 #define IR_PHP_OPS(_) 12 13 14 #define IR_SNAPSHOT_HANDLER_DCL() \ 15 void *zend_jit_snapshot_handler(ir_ctx *ctx, ir_ref snapshot_ref, ir_insn *snapshot, void *addr) 16 17 #define IR_SNAPSHOT_HANDLER(ctx, ref, insn, addr) \ 18 zend_jit_snapshot_handler(ctx, ref, insn, addr) 19 20 #ifndef IR_PHP_MM 21 # define IR_PHP_MM 1 22 #endif 23 24 #if IR_PHP_MM 25 # include "zend.h" 26 27 # define ir_mem_malloc emalloc 28 # define ir_mem_calloc ecalloc 29 # define ir_mem_realloc erealloc 30 # define ir_mem_free efree 31 #endif 32 33 #if defined(IR_TARGET_AARCH64) 34 # define IR_EXTERNAL_GDB_ENTRY 35 #endif 36 37 #endif /* IR_PHP_H */ 38