summaryrefslogtreecommitdiff
path: root/xcache
diff options
context:
space:
mode:
authorXuefer <xuefer@gmail.com>2015-04-18 13:25:48 +0000
committerXuefer <xuefer@gmail.com>2015-04-18 13:25:48 +0000
commitb2655aeecdaef9d56dd45e5566430d5beedbc022 (patch)
tree0b238e57e57dec9ea0e0bdb478f79e887c86a866 /xcache
parent8443a1aa2b93adca0a572abc14070568a3f4be22 (diff)
downloadxcache-b2655aeecdaef9d56dd45e5566430d5beedbc022.tar.gz
xcache-b2655aeecdaef9d56dd45e5566430d5beedbc022.zip
phpdop: update for new struct layout
git-svn-id: svn://svn.lighttpd.net/xcache/trunk@1587 c26eb9a1-5813-0410-bd6c-c2e55f420ca7
Diffstat (limited to 'xcache')
-rw-r--r--xcache/xc_opcode_spec_def.h12
-rw-r--r--xcache/xc_utils.c5
2 files changed, 15 insertions, 2 deletions
diff --git a/xcache/xc_opcode_spec_def.h b/xcache/xc_opcode_spec_def.h
index 527835f..40ed78a 100644
--- a/xcache/xc_opcode_spec_def.h
+++ b/xcache/xc_opcode_spec_def.h
@@ -83,10 +83,14 @@ static const xc_opcode_spec_t xc_opcode_spec[] = {
OPSPEC( UNUSED, STD, STD, TMP) /* 56 ADD_VAR */
OPSPEC( UNUSED, UNUSED, UNUSED, TMP) /* 57 BEGIN_SILENCE */
OPSPEC( UNUSED, TMP, UNUSED, UNUSED) /* 58 END_SILENCE */
+#ifdef ZEND_ENGINE_2_4
+ OPSPEC(INIT_FCALL, UNUSED, STD, UNUSED) /* 59 INIT_FCALL_BY_NAME */
+#else
OPSPEC(INIT_FCALL, STD, STD, UNUSED) /* 59 INIT_FCALL_BY_NAME */
+#endif
#ifdef ZEND_ENGINE_2
- OPSPEC( FCALL, STD, OPLINE, VAR) /* 60 DO_FCALL */
- OPSPEC( FCALL, STD, OPLINE, VAR) /* 61 DO_FCALL_BY_NAME */
+ OPSPEC( FCALL, STD, UNUSED, VAR) /* 60 DO_FCALL */
+ OPSPEC( FCALL, UNUSED, UNUSED, VAR) /* 61 DO_FCALL_BY_NAME */
#else
OPSPEC( FCALL, STD, UNUSED, VAR)
OPSPEC( FCALL, STD, UNUSED, VAR)
@@ -208,7 +212,11 @@ static const xc_opcode_spec_t xc_opcode_spec[] = {
OPSPEC( OPLINE, CLASS, STD, UNUSED) /* 107 CATCH */
# endif
OPSPEC( UNUSED, STD, OPLINE, UNUSED) /* 108 THROW */
+# ifdef ZEND_ENGINE_2_4
+ OPSPEC( FCLASS, UNUSED, STD, CLASS) /* 109 FETCH_CLASS */
+# else
OPSPEC( FCLASS, STD, STD, CLASS) /* 109 FETCH_CLASS */
+# endif
OPSPEC( UNUSED, STD, UNUSED, VAR) /* 110 CLONE */
# ifdef ZEND_ENGINE_2_4
diff --git a/xcache/xc_utils.c b/xcache/xc_utils.c
index 48db730..4c2b576 100644
--- a/xcache/xc_utils.c
+++ b/xcache/xc_utils.c
@@ -301,6 +301,11 @@ static void xc_fix_opcode_ex_znode(int tofix, xc_op_spec_t spec, Z_OP_TYPEOF_TYP
}
}
switch (*op_type) {
+ case IS_CONST:
+ if (spec == OPSPEC_UNUSED || spec == OPSPEC_OPLINE) {
+ *op_type = IS_UNUSED;
+ }
+ break;
case IS_TMP_VAR:
case IS_VAR:
if (tofix) {