]> granicus.if.org Git - php/commitdiff
Removed ability to compile PHP without EX(run_time_cache). ZEND_EX_USE_RUN_TIME_CACHE...
authorDmitry Stogov <dmitry@zend.com>
Wed, 15 May 2019 08:06:26 +0000 (11:06 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 15 May 2019 08:06:26 +0000 (11:06 +0300)
Zend/zend_compile.h
Zend/zend_execute.c
Zend/zend_execute.h

index 7aa83ee3b6b68a36f3c9c8e64a2eb4d5ba26dd38..a3a781046a9a7b821a1cd5b5a1254d34276f9617 100644 (file)
@@ -55,11 +55,9 @@ typedef struct _zend_op zend_op;
 #if SIZEOF_SIZE_T == 4
 # define ZEND_USE_ABS_JMP_ADDR      1
 # define ZEND_USE_ABS_CONST_ADDR    1
-# define ZEND_EX_USE_RUN_TIME_CACHE 1
 #else
 # define ZEND_USE_ABS_JMP_ADDR      0
 # define ZEND_USE_ABS_CONST_ADDR    0
-# define ZEND_EX_USE_RUN_TIME_CACHE 1
 #endif
 
 typedef union _znode_op {
@@ -491,9 +489,7 @@ struct _zend_execute_data {
        zval                 This;             /* this + call_info + num_args    */
        zend_execute_data   *prev_execute_data;
        zend_array          *symbol_table;
-#if ZEND_EX_USE_RUN_TIME_CACHE
        void               **run_time_cache;   /* cache op_array->run_time_cache */
-#endif
 };
 
 #define ZEND_CALL_HAS_THIS           IS_OBJECT_EX
@@ -685,25 +681,6 @@ struct _zend_execute_data {
 #define ZEND_OP_ARRAY_EXTENSION(op_array, handle) \
        ((void**)RUN_TIME_CACHE(op_array))[handle]
 
-#if ZEND_EX_USE_RUN_TIME_CACHE
-
-# define EX_RUN_TIME_CACHE() \
-       EX(run_time_cache)
-
-# define EX_LOAD_RUN_TIME_CACHE(op_array) do { \
-               EX(run_time_cache) = RUN_TIME_CACHE(op_array); \
-       } while (0)
-
-#else
-
-# define EX_RUN_TIME_CACHE() \
-       RUN_TIME_CACHE(&EX(func)->op_array)
-
-# define EX_LOAD_RUN_TIME_CACHE(op_array) do { \
-       } while (0)
-
-#endif
-
 #define IS_UNUSED      0               /* Unused operand */
 #define IS_CONST       (1<<0)
 #define IS_TMP_VAR     (1<<1)
index 3f8b3d5bb28ad2f83edeb0b2ede2d927cc5d33a0..8eb71dc49c2d9185eb3ca5e9fc4506a28f7bf26a 100644 (file)
@@ -3368,7 +3368,7 @@ static zend_always_inline void i_init_func_execute_data(zend_op_array *op_array,
        /* Initialize CV variables (skip arguments) */
        zend_init_cvs(num_args, op_array->last_var EXECUTE_DATA_CC);
 
-       EX_LOAD_RUN_TIME_CACHE(op_array);
+       EX(run_time_cache) = RUN_TIME_CACHE(op_array);
 
        EG(current_execute_data) = execute_data;
 #if defined(ZEND_VM_IP_GLOBAL_REG) && ((ZEND_VM_KIND == ZEND_VM_KIND_CALL) || (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID))
@@ -3444,7 +3444,7 @@ static zend_always_inline void i_init_code_execute_data(zend_execute_data *execu
                ZEND_MAP_PTR_SET(op_array->run_time_cache, ptr);
                memset(ptr, 0, op_array->cache_size);
        }
-       EX_LOAD_RUN_TIME_CACHE(op_array);
+       EX(run_time_cache) = RUN_TIME_CACHE(op_array);
 
        EG(current_execute_data) = execute_data;
 }
index 3690dfdb4498a6fab0dc4ea2a5093fa04155035e..c3fee42f2418acc83b600fda303eecc0d0c973a3 100644 (file)
@@ -365,22 +365,22 @@ ZEND_API void zend_cleanup_unfinished_execution(zend_execute_data *execute_data,
 ZEND_API int ZEND_FASTCALL zend_do_fcall_overloaded(zend_execute_data *call, zval *ret);
 
 #define CACHE_ADDR(num) \
-       ((void**)((char*)EX_RUN_TIME_CACHE() + (num)))
+       ((void**)((char*)EX(run_time_cache) + (num)))
 
 #define CACHED_PTR(num) \
-       ((void**)((char*)EX_RUN_TIME_CACHE() + (num)))[0]
+       ((void**)((char*)EX(run_time_cache) + (num)))[0]
 
 #define CACHE_PTR(num, ptr) do { \
-               ((void**)((char*)EX_RUN_TIME_CACHE() + (num)))[0] = (ptr); \
+               ((void**)((char*)EX(run_time_cache) + (num)))[0] = (ptr); \
        } while (0)
 
 #define CACHED_POLYMORPHIC_PTR(num, ce) \
-       (EXPECTED(((void**)((char*)EX_RUN_TIME_CACHE() + (num)))[0] == (void*)(ce)) ? \
-               ((void**)((char*)EX_RUN_TIME_CACHE() + (num)))[1] : \
+       (EXPECTED(((void**)((char*)EX(run_time_cache) + (num)))[0] == (void*)(ce)) ? \
+               ((void**)((char*)EX(run_time_cache) + (num)))[1] : \
                NULL)
 
 #define CACHE_POLYMORPHIC_PTR(num, ce, ptr) do { \
-               void **slot = (void**)((char*)EX_RUN_TIME_CACHE() + (num)); \
+               void **slot = (void**)((char*)EX(run_time_cache) + (num)); \
                slot[0] = (ce); \
                slot[1] = (ptr); \
        } while (0)