summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 71dd5d1b26..a885518caf 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -403,8 +403,14 @@ struct _zend_execute_data {
#define ZEND_CALL_FRAME_SLOT \
((ZEND_MM_ALIGNED_SIZE(sizeof(zend_execute_data)) + ZEND_MM_ALIGNED_SIZE(sizeof(zval)) - 1) / ZEND_MM_ALIGNED_SIZE(sizeof(zval)))
+#define ZEND_CALL_VAR(call, n) \
+ ((zval*)(((char*)(call)) + ((int)(n))))
+
+#define ZEND_CALL_VAR_NUM(call, n) \
+ (((zval*)(call)) + (ZEND_CALL_FRAME_SLOT + ((int)(n))))
+
#define ZEND_CALL_ARG(call, n) \
- (((zval*)(call)) + ((n) + (ZEND_CALL_FRAME_SLOT - 1)))
+ ZEND_CALL_VAR_NUM(call, ((int)(n)) - 1)
#define EX(element) ((execute_data)->element)
@@ -412,13 +418,10 @@ struct _zend_execute_data {
#define EX_CALL_KIND() ZEND_CALL_KIND(execute_data)
#define EX_NUM_ARGS() ZEND_CALL_NUM_ARGS(execute_data)
-#define EX_VAR_2(ex, n) ((zval*)(((char*)(ex)) + ((int)(n))))
-#define EX_VAR_NUM_2(ex, n) (((zval*)(ex)) + (ZEND_CALL_FRAME_SLOT + ((int)(n))))
-
-#define EX_VAR(n) EX_VAR_2(execute_data, n)
-#define EX_VAR_NUM(n) EX_VAR_NUM_2(execute_data, n)
+#define EX_VAR(n) ZEND_CALL_VAR(execute_data, n)
+#define EX_VAR_NUM(n) ZEND_CALL_VAR_NUM(execute_data, n)
-#define EX_VAR_TO_NUM(n) (EX_VAR_2(NULL, n) - EX_VAR_NUM_2(NULL, 0))
+#define EX_VAR_TO_NUM(n) (ZEND_CALL_VAR(NULL, n) - ZEND_CALL_VAR_NUM(NULL, 0))
#define IS_CONST (1<<0)
#define IS_TMP_VAR (1<<1)