mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Allow arbitrary expressions in static variable initializer
Closes GH-9301
This commit is contained in:
parent
3189a9f94a
commit
0b1d750d91
@ -41,6 +41,8 @@ PHP 8.3 UPGRADE NOTES
|
||||
property to the class directly without traits.
|
||||
. Assigning a negative index n to an empty array will now make sure that the
|
||||
next index is n+1 instead of 0.
|
||||
. Static variable initializers can now contain arbitrary expressions.
|
||||
RFC: https://wiki.php.net/rfc/arbitrary_static_variable_initializers
|
||||
|
||||
- FFI:
|
||||
. C functions that have a return type of void now return null instead of
|
||||
|
@ -1010,6 +1010,7 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_op
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
ZEND_SET_OP_JMP_ADDR(opline, opline->op2, new_opcodes + blocks[b->successors[0]].start);
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
|
@ -145,6 +145,7 @@ static inline bool may_have_side_effects(
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
/* For our purposes a jumps and branches are side effects. */
|
||||
return 1;
|
||||
case ZEND_BEGIN_SILENCE:
|
||||
@ -245,15 +246,9 @@ static inline bool may_have_side_effects(
|
||||
if ((opline->extended_value & (ZEND_BIND_IMPLICIT|ZEND_BIND_EXPLICIT))) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((opline->extended_value & ZEND_BIND_REF) != 0) {
|
||||
zval *value =
|
||||
(zval*)((char*)op_array->static_variables->arData +
|
||||
(opline->extended_value & ~ZEND_BIND_REF));
|
||||
if (Z_TYPE_P(value) == IS_CONSTANT_AST) {
|
||||
/* AST may contain undefined constants */
|
||||
return 1;
|
||||
}
|
||||
/* Modifies static variables which are observable through reflection */
|
||||
if ((opline->extended_value & ZEND_BIND_REF) && opline->op2_type != IS_UNUSED) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -652,6 +652,7 @@ static void zend_ssa_replace_control_link(zend_op_array *op_array, zend_ssa *ssa
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) {
|
||||
ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start);
|
||||
}
|
||||
|
@ -354,6 +354,7 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx)
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_VERIFY_NEVER_TYPE:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
collect_constants = 0;
|
||||
break;
|
||||
}
|
||||
|
@ -249,6 +249,7 @@ static bool can_replace_op1(
|
||||
case ZEND_ROPE_ADD:
|
||||
case ZEND_ROPE_END:
|
||||
case ZEND_BIND_STATIC:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_BIND_GLOBAL:
|
||||
case ZEND_MAKE_REF:
|
||||
case ZEND_UNSET_CV:
|
||||
@ -1773,6 +1774,7 @@ static void sccp_mark_feasible_successors(
|
||||
case ZEND_CATCH:
|
||||
case ZEND_FE_FETCH_R:
|
||||
case ZEND_FE_FETCH_RW:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
scdf_mark_edge_feasible(scdf, block_num, block->successors[0]);
|
||||
scdf_mark_edge_feasible(scdf, block_num, block->successors[1]);
|
||||
return;
|
||||
|
@ -369,6 +369,7 @@ ZEND_API void zend_build_cfg(zend_arena **arena, const zend_op_array *op_array,
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes);
|
||||
BB_START(i + 1);
|
||||
break;
|
||||
@ -522,6 +523,7 @@ ZEND_API void zend_build_cfg(zend_arena **arena, const zend_op_array *op_array,
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
block->successors_count = 2;
|
||||
block->successors[0] = block_map[OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes];
|
||||
block->successors[1] = j + 1;
|
||||
|
@ -150,6 +150,7 @@ add_op1_def:
|
||||
case ZEND_POST_DEC:
|
||||
case ZEND_BIND_GLOBAL:
|
||||
case ZEND_BIND_STATIC:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_SEND_VAR_NO_REF:
|
||||
case ZEND_SEND_VAR_NO_REF_EX:
|
||||
case ZEND_SEND_VAR_EX:
|
||||
|
@ -2944,6 +2944,10 @@ static zend_always_inline zend_result _zend_update_type_info(
|
||||
}
|
||||
UPDATE_SSA_TYPE(tmp, ssa_op->op1_def);
|
||||
break;
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
tmp = MAY_BE_UNDEF | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_REF;
|
||||
UPDATE_SSA_TYPE(tmp, ssa_op->op1_def);
|
||||
break;
|
||||
case ZEND_SEND_VAR:
|
||||
if (ssa_op->op1_def >= 0) {
|
||||
tmp = t1;
|
||||
@ -4363,6 +4367,7 @@ static void zend_mark_cv_references(const zend_op_array *op_array, const zend_sc
|
||||
case ZEND_SEND_REF:
|
||||
case ZEND_SEND_VAR_EX:
|
||||
case ZEND_SEND_FUNC_ARG:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
break;
|
||||
case ZEND_INIT_ARRAY:
|
||||
case ZEND_ADD_ARRAY_ELEMENT:
|
||||
@ -4518,6 +4523,7 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
|
||||
case ZEND_ASSIGN_REF:
|
||||
case ZEND_BIND_GLOBAL:
|
||||
case ZEND_BIND_STATIC:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_FETCH_DIM_IS:
|
||||
case ZEND_FETCH_OBJ_IS:
|
||||
case ZEND_SEND_REF:
|
||||
@ -4755,14 +4761,12 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
|
||||
case ZEND_UNSET_VAR:
|
||||
return (t1 & (MAY_BE_OBJECT|MAY_BE_RESOURCE|MAY_BE_ARRAY_OF_OBJECT|MAY_BE_ARRAY_OF_RESOURCE|MAY_BE_ARRAY_OF_ARRAY));
|
||||
case ZEND_BIND_STATIC:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
if (t1 & (MAY_BE_OBJECT|MAY_BE_RESOURCE|MAY_BE_ARRAY_OF_OBJECT|MAY_BE_ARRAY_OF_RESOURCE|MAY_BE_ARRAY_OF_ARRAY)) {
|
||||
/* Destructor may throw. */
|
||||
return 1;
|
||||
} else {
|
||||
zval *value = (zval*)((char*)op_array->static_variables->arData + (opline->extended_value & ~(ZEND_BIND_REF|ZEND_BIND_IMPLICIT|ZEND_BIND_EXPLICIT)));
|
||||
/* May throw if initializer is CONSTANT_AST. */
|
||||
return Z_TYPE_P(value) == IS_CONSTANT_AST;
|
||||
}
|
||||
return 0;
|
||||
case ZEND_ASSIGN_DIM:
|
||||
if ((opline+1)->op1_type == IS_CV) {
|
||||
if (_ssa_op1_info(op_array, ssa, opline+1, ssa_op+1) & MAY_BE_UNDEF) {
|
||||
|
@ -720,6 +720,7 @@ void zend_optimizer_migrate_jump(zend_op_array *op_array, zend_op *new_opline, z
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
ZEND_SET_OP_JMP_ADDR(new_opline, new_opline->op2, ZEND_OP2_JMP_ADDR(opline));
|
||||
break;
|
||||
case ZEND_FE_FETCH_R:
|
||||
@ -763,6 +764,7 @@ void zend_optimizer_shift_jump(zend_op_array *op_array, zend_op *opline, uint32_
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR(opline) - op_array->opcodes]);
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
@ -1157,6 +1159,7 @@ static void zend_redo_pass_two(zend_op_array *op_array)
|
||||
case ZEND_FE_RESET_RW:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
opline->op2.jmp_addr = &op_array->opcodes[opline->op2.jmp_addr - old_opcodes];
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
@ -1277,6 +1280,7 @@ static void zend_redo_pass_two_ex(zend_op_array *op_array, zend_ssa *ssa)
|
||||
case ZEND_FE_RESET_RW:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
opline->op2.jmp_addr = &op_array->opcodes[opline->op2.jmp_addr - old_opcodes];
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
|
@ -679,6 +679,7 @@ add_op1_def:
|
||||
case ZEND_POST_DEC:
|
||||
case ZEND_BIND_GLOBAL:
|
||||
case ZEND_BIND_STATIC:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_SEND_VAR_NO_REF:
|
||||
case ZEND_SEND_VAR_NO_REF_EX:
|
||||
case ZEND_SEND_VAR_EX:
|
||||
|
@ -3,7 +3,7 @@ Using 'static' and 'global' in global scope
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
static $var, $var, $var = -1;
|
||||
static $var = -1;
|
||||
var_dump($var);
|
||||
|
||||
global $var, $var, $var;
|
||||
|
@ -5,22 +5,69 @@ Bug #79778: Assertion failure if dumping closure with unresolved static variable
|
||||
$closure1 = function() {
|
||||
static $var = CONST_REF;
|
||||
};
|
||||
|
||||
var_dump($closure1);
|
||||
print_r($closure1);
|
||||
|
||||
try {
|
||||
$closure1();
|
||||
} catch (\Error $e) {
|
||||
echo $e->getMessage(), "\n";
|
||||
}
|
||||
|
||||
var_dump($closure1);
|
||||
print_r($closure1);
|
||||
|
||||
const CONST_REF = 'foo';
|
||||
$closure1();
|
||||
var_dump($closure1);
|
||||
print_r($closure1);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
object(Closure)#1 (1) {
|
||||
["static"]=>
|
||||
array(1) {
|
||||
["var"]=>
|
||||
string(14) "<constant ast>"
|
||||
NULL
|
||||
}
|
||||
}
|
||||
Closure Object
|
||||
(
|
||||
[static] => Array
|
||||
(
|
||||
[var] => <constant ast>
|
||||
[var] =>
|
||||
)
|
||||
|
||||
)
|
||||
Undefined constant "CONST_REF"
|
||||
object(Closure)#1 (1) {
|
||||
["static"]=>
|
||||
array(1) {
|
||||
["var"]=>
|
||||
NULL
|
||||
}
|
||||
}
|
||||
Closure Object
|
||||
(
|
||||
[static] => Array
|
||||
(
|
||||
[var] =>
|
||||
)
|
||||
|
||||
)
|
||||
object(Closure)#1 (1) {
|
||||
["static"]=>
|
||||
array(1) {
|
||||
["var"]=>
|
||||
string(3) "foo"
|
||||
}
|
||||
}
|
||||
Closure Object
|
||||
(
|
||||
[static] => Array
|
||||
(
|
||||
[var] => foo
|
||||
)
|
||||
|
||||
)
|
||||
|
@ -1,10 +1,13 @@
|
||||
--TEST--
|
||||
New with anonymous class is not supported in constant expressions
|
||||
New with anonymous class works
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
static $x = new class {};
|
||||
|
||||
var_dump($x);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot use anonymous class in constant expression in %s on line %d
|
||||
--EXPECT--
|
||||
object(class@anonymous)#1 (0) {
|
||||
}
|
||||
|
@ -1,10 +1,13 @@
|
||||
--TEST--
|
||||
Argument unpacking in new arguments in const expr (not yet supported)
|
||||
Argument unpacking in new arguments in static variable
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
static $x = new stdClass(...[0]);
|
||||
|
||||
var_dump($x);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Argument unpacking in constant expressions is not supported in %s on line %d
|
||||
--EXPECT--
|
||||
object(stdClass)#1 (0) {
|
||||
}
|
||||
|
@ -3,8 +3,13 @@ Dynamic class name in new is not supported
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Foo {}
|
||||
const FOO = 'Foo';
|
||||
static $x = new (FOO);
|
||||
|
||||
var_dump($x);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot use dynamic class name in constant expression in %s on line %d
|
||||
--EXPECT--
|
||||
object(Foo)#1 (0) {
|
||||
}
|
||||
|
@ -3,8 +3,17 @@ Invalid operation in new arg in const expr
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$foo = [1, 2, 3];
|
||||
static $x = new stdClass($foo);
|
||||
var_dump($foo);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Constant expression contains invalid operations in %s on line %d
|
||||
--EXPECT--
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(2)
|
||||
[2]=>
|
||||
int(3)
|
||||
}
|
||||
|
@ -3,8 +3,20 @@ Static in new is not supported
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
static $x = new static;
|
||||
class Foo {
|
||||
public static function singleton() {
|
||||
static $x = new static;
|
||||
return $x;
|
||||
}
|
||||
}
|
||||
|
||||
$x = Foo::singleton();
|
||||
$y = Foo::singleton();
|
||||
var_dump($x, $y);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: "static" is not allowed in compile-time constants in %s on line %d
|
||||
--EXPECT--
|
||||
object(Foo)#1 (0) {
|
||||
}
|
||||
object(Foo)#1 (0) {
|
||||
}
|
||||
|
23
Zend/tests/static_variable_func_call.phpt
Normal file
23
Zend/tests/static_variable_func_call.phpt
Normal file
@ -0,0 +1,23 @@
|
||||
--TEST--
|
||||
Static variable initializer with function call
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function bar() {
|
||||
echo "bar() called\n";
|
||||
return 'bar';
|
||||
}
|
||||
|
||||
function foo() {
|
||||
static $bar = bar();
|
||||
echo $bar, "\n";
|
||||
}
|
||||
|
||||
foo();
|
||||
foo();
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
bar() called
|
||||
bar
|
||||
bar
|
14
Zend/tests/static_variables_closure_bind.phpt
Normal file
14
Zend/tests/static_variables_closure_bind.phpt
Normal file
@ -0,0 +1,14 @@
|
||||
--TEST--
|
||||
Static variable can't override bound closure variables
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$a = null;
|
||||
|
||||
function () use (&$a) {
|
||||
static $a;
|
||||
};
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Duplicate declaration of static variable $a in %s on line %d
|
36
Zend/tests/static_variables_destructor.phpt
Normal file
36
Zend/tests/static_variables_destructor.phpt
Normal file
@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
Static variable assign triggering destructor
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class Foo {
|
||||
public function __destruct() {
|
||||
throw new Exception('__destruct() called');
|
||||
}
|
||||
}
|
||||
|
||||
function bar() {
|
||||
echo "bar() called\n";
|
||||
return 42;
|
||||
}
|
||||
|
||||
function foo(bool $throw) {
|
||||
if ($throw) {
|
||||
$a = new Foo();
|
||||
}
|
||||
static $a = bar();
|
||||
var_dump($a);
|
||||
}
|
||||
|
||||
try {
|
||||
foo(true);
|
||||
} catch (Exception $e) {
|
||||
echo $e->getMessage(), "\n";
|
||||
}
|
||||
foo(false);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
bar() called
|
||||
__destruct() called
|
||||
int(42)
|
22
Zend/tests/static_variables_global.phpt
Normal file
22
Zend/tests/static_variables_global.phpt
Normal file
@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Global can override static variable
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function foo() {
|
||||
static $a = 42;
|
||||
var_dump($a);
|
||||
global $a;
|
||||
$a = 41;
|
||||
var_dump($a);
|
||||
}
|
||||
|
||||
foo();
|
||||
foo();
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
int(42)
|
||||
int(41)
|
||||
int(42)
|
||||
int(41)
|
26
Zend/tests/static_variables_global_2.phpt
Normal file
26
Zend/tests/static_variables_global_2.phpt
Normal file
@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
Static variable can override global
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function foo() {
|
||||
global $a;
|
||||
$a = 42;
|
||||
var_dump($a);
|
||||
static $a = 41;
|
||||
var_dump($a);
|
||||
}
|
||||
|
||||
foo();
|
||||
var_dump($a);
|
||||
foo();
|
||||
var_dump($a);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
int(42)
|
||||
int(41)
|
||||
int(42)
|
||||
int(42)
|
||||
int(41)
|
||||
int(42)
|
29
Zend/tests/static_variables_recursive.phpt
Normal file
29
Zend/tests/static_variables_recursive.phpt
Normal file
@ -0,0 +1,29 @@
|
||||
--TEST--
|
||||
Static variable with recursive initializer
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function foo($i) {
|
||||
static $a = $i <= 10 ? foo($i + 1) : "Done $i";
|
||||
var_dump($a);
|
||||
return $i;
|
||||
}
|
||||
|
||||
foo(0);
|
||||
foo(5);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
||||
string(7) "Done 11"
|
@ -597,14 +597,10 @@ static HashTable *zend_closure_get_debug_info(zend_object *object, int *is_temp)
|
||||
ZEND_HASH_MAP_FOREACH_STR_KEY_VAL(static_variables, key, var) {
|
||||
zval copy;
|
||||
|
||||
if (Z_TYPE_P(var) == IS_CONSTANT_AST) {
|
||||
ZVAL_STRING(©, "<constant ast>");
|
||||
} else {
|
||||
if (Z_ISREF_P(var) && Z_REFCOUNT_P(var) == 1) {
|
||||
var = Z_REFVAL_P(var);
|
||||
}
|
||||
ZVAL_COPY(©, var);
|
||||
if (Z_ISREF_P(var) && Z_REFCOUNT_P(var) == 1) {
|
||||
var = Z_REFVAL_P(var);
|
||||
}
|
||||
ZVAL_COPY(©, var);
|
||||
|
||||
zend_hash_add_new(Z_ARRVAL(val), key, ©);
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
@ -2293,6 +2293,7 @@ static inline void zend_update_jump_target(uint32_t opnum_jump, uint32_t opnum_t
|
||||
case ZEND_JMP_SET:
|
||||
case ZEND_COALESCE:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
opline->op2.opline_num = opnum_target;
|
||||
break;
|
||||
EMPTY_SWITCH_DEFAULT_CASE()
|
||||
@ -4885,16 +4886,55 @@ static void zend_compile_static_var_common(zend_string *var_name, zval *value, u
|
||||
static void zend_compile_static_var(zend_ast *ast) /* {{{ */
|
||||
{
|
||||
zend_ast *var_ast = ast->child[0];
|
||||
zend_ast **value_ast_ptr = &ast->child[1];
|
||||
zval value_zv;
|
||||
zend_string *var_name = zend_ast_get_str(var_ast);
|
||||
|
||||
if (*value_ast_ptr) {
|
||||
zend_const_expr_to_zval(&value_zv, value_ast_ptr, /* allow_dynamic */ true);
|
||||
} else {
|
||||
ZVAL_NULL(&value_zv);
|
||||
if (zend_string_equals_literal(var_name, "this")) {
|
||||
zend_error_noreturn(E_COMPILE_ERROR, "Cannot use $this as static variable");
|
||||
}
|
||||
|
||||
zend_compile_static_var_common(zend_ast_get_str(var_ast), &value_zv, ZEND_BIND_REF);
|
||||
if (!CG(active_op_array)->static_variables) {
|
||||
if (CG(active_op_array)->scope) {
|
||||
CG(active_op_array)->scope->ce_flags |= ZEND_HAS_STATIC_IN_METHODS;
|
||||
}
|
||||
CG(active_op_array)->static_variables = zend_new_array(8);
|
||||
}
|
||||
|
||||
if (zend_hash_exists(CG(active_op_array)->static_variables, var_name)) {
|
||||
zend_error_noreturn(E_COMPILE_ERROR, "Duplicate declaration of static variable $%s", ZSTR_VAL(var_name));
|
||||
}
|
||||
|
||||
zend_eval_const_expr(&ast->child[1]);
|
||||
zend_ast *value_ast = ast->child[1];
|
||||
|
||||
if (!value_ast || value_ast->kind == ZEND_AST_ZVAL) {
|
||||
zval *value_zv = value_ast
|
||||
? zend_ast_get_zval(value_ast)
|
||||
: &EG(uninitialized_zval);
|
||||
Z_TRY_ADDREF_P(value_zv);
|
||||
zend_compile_static_var_common(var_name, value_zv, ZEND_BIND_REF);
|
||||
} else {
|
||||
zend_op *opline;
|
||||
|
||||
zval *placeholder_ptr = zend_hash_update(CG(active_op_array)->static_variables, var_name, &EG(uninitialized_zval));
|
||||
Z_TYPE_EXTRA_P(placeholder_ptr) |= IS_STATIC_VAR_UNINITIALIZED;
|
||||
uint32_t placeholder_offset = (uint32_t)((char*)placeholder_ptr - (char*)CG(active_op_array)->static_variables->arData);
|
||||
|
||||
uint32_t static_def_jmp_opnum = get_next_op_number();
|
||||
opline = zend_emit_op(NULL, ZEND_BIND_INIT_STATIC_OR_JMP, NULL, NULL);
|
||||
opline->op1_type = IS_CV;
|
||||
opline->op1.var = lookup_cv(var_name);
|
||||
opline->extended_value = placeholder_offset;
|
||||
|
||||
znode expr;
|
||||
zend_compile_expr(&expr, value_ast);
|
||||
|
||||
opline = zend_emit_op(NULL, ZEND_BIND_STATIC, NULL, &expr);
|
||||
opline->op1_type = IS_CV;
|
||||
opline->op1.var = lookup_cv(var_name);
|
||||
opline->extended_value = placeholder_offset | ZEND_BIND_REF;
|
||||
|
||||
zend_update_jump_target_to_next(static_def_jmp_opnum);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
@ -1122,6 +1122,7 @@ ZEND_API void pass_two(zend_op_array *op_array)
|
||||
case ZEND_FE_RESET_R:
|
||||
case ZEND_FE_RESET_RW:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2);
|
||||
break;
|
||||
case ZEND_ASSERT_CHECK:
|
||||
|
@ -626,6 +626,9 @@ static zend_always_inline uint8_t zval_get_type(const zval* pz) {
|
||||
#define Z_TYPE_FLAGS(zval) (zval).u1.v.type_flags
|
||||
#define Z_TYPE_FLAGS_P(zval_p) Z_TYPE_FLAGS(*(zval_p))
|
||||
|
||||
#define Z_TYPE_EXTRA(zval) (zval).u1.v.u.extra
|
||||
#define Z_TYPE_EXTRA_P(zval_p) Z_TYPE_EXTRA(*(zval_p))
|
||||
|
||||
#define Z_TYPE_INFO(zval) (zval).u1.type_info
|
||||
#define Z_TYPE_INFO_P(zval_p) Z_TYPE_INFO(*(zval_p))
|
||||
|
||||
@ -752,6 +755,11 @@ static zend_always_inline uint32_t zval_gc_info(uint32_t gc_type_info) {
|
||||
/* zval.u1.v.type_flags */
|
||||
#define IS_TYPE_REFCOUNTED (1<<0)
|
||||
#define IS_TYPE_COLLECTABLE (1<<1)
|
||||
/* Used for static variables to check if they have been initialized. We can't use IS_UNDEF because
|
||||
* we can't store IS_UNDEF zvals in the static_variables HashTable. This needs to live in type_info
|
||||
* so that the ZEND_ASSIGN overrides it but is moved to extra to avoid breaking the Z_REFCOUNTED()
|
||||
* optimization that only checks for Z_TYPE_FLAGS() without `& (IS_TYPE_COLLECTABLE|IS_TYPE_REFCOUNTED)`. */
|
||||
#define IS_STATIC_VAR_UNINITIALIZED (1<<0)
|
||||
|
||||
#if 1
|
||||
/* This optimized version assumes that we have a single "type_flag" */
|
||||
|
@ -8922,7 +8922,7 @@ ZEND_VM_HANDLER(182, ZEND_BIND_LEXICAL, TMP, CV, REF)
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, UNUSED, REF)
|
||||
ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, ANY, REF)
|
||||
{
|
||||
USE_OPLINE
|
||||
HashTable *ht;
|
||||
@ -8942,18 +8942,18 @@ ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, UNUSED, REF)
|
||||
|
||||
SAVE_OPLINE();
|
||||
if (opline->extended_value & ZEND_BIND_REF) {
|
||||
if (Z_TYPE_P(value) == IS_CONSTANT_AST) {
|
||||
if (UNEXPECTED(zval_update_constant_ex(value, EX(func)->op_array.scope) != SUCCESS)) {
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
}
|
||||
|
||||
i_zval_ptr_dtor(variable_ptr);
|
||||
if (UNEXPECTED(!Z_ISREF_P(value))) {
|
||||
zend_reference *ref = (zend_reference*)emalloc(sizeof(zend_reference));
|
||||
GC_SET_REFCOUNT(ref, 2);
|
||||
GC_TYPE_INFO(ref) = GC_REFERENCE;
|
||||
ZVAL_COPY_VALUE(&ref->val, value);
|
||||
if (OP2_TYPE == IS_UNUSED) {
|
||||
ZVAL_COPY_VALUE(&ref->val, value);
|
||||
} else {
|
||||
ZEND_ASSERT(!Z_REFCOUNTED_P(value));
|
||||
ZVAL_COPY(&ref->val, GET_OP2_ZVAL_PTR_DEREF(BP_VAR_R));
|
||||
FREE_OP2();
|
||||
}
|
||||
ref->sources.ptr = NULL;
|
||||
Z_REF_P(value) = ref;
|
||||
Z_TYPE_INFO_P(value) = IS_REFERENCE_EX;
|
||||
@ -8961,6 +8961,9 @@ ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, UNUSED, REF)
|
||||
} else {
|
||||
Z_ADDREF_P(value);
|
||||
ZVAL_REF(variable_ptr, Z_REF_P(value));
|
||||
if (OP2_TYPE != IS_UNUSED) {
|
||||
FREE_OP2();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
i_zval_ptr_dtor(variable_ptr);
|
||||
@ -8970,6 +8973,34 @@ ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, UNUSED, REF)
|
||||
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
|
||||
}
|
||||
|
||||
ZEND_VM_HANDLER(203, ZEND_BIND_INIT_STATIC_OR_JMP, CV, JMP_ADDR)
|
||||
{
|
||||
USE_OPLINE
|
||||
HashTable *ht;
|
||||
zval *value;
|
||||
zval *variable_ptr;
|
||||
|
||||
variable_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_W);
|
||||
|
||||
ht = ZEND_MAP_PTR_GET(EX(func)->op_array.static_variables_ptr);
|
||||
if (!ht) {
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
ZEND_ASSERT(GC_REFCOUNT(ht) == 1);
|
||||
|
||||
value = (zval*)((char*)ht->arData + opline->extended_value);
|
||||
if (Z_TYPE_EXTRA_P(value) & IS_STATIC_VAR_UNINITIALIZED) {
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
} else {
|
||||
SAVE_OPLINE();
|
||||
zval_ptr_dtor(variable_ptr);
|
||||
ZEND_ASSERT(Z_TYPE_P(value) == IS_REFERENCE);
|
||||
Z_ADDREF_P(value);
|
||||
ZVAL_REF(variable_ptr, Z_REF_P(value));
|
||||
ZEND_VM_JMP_EX(OP_JMP_ADDR(opline, opline->op2), 1);
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_VM_HOT_HANDLER(184, ZEND_FETCH_THIS, UNUSED, UNUSED)
|
||||
{
|
||||
USE_OPLINE
|
||||
|
337
Zend/zend_vm_execute.h
generated
337
Zend/zend_vm_execute.h
generated
@ -40366,6 +40366,85 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDL
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_STATIC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
USE_OPLINE
|
||||
HashTable *ht;
|
||||
zval *value;
|
||||
zval *variable_ptr;
|
||||
|
||||
variable_ptr = EX_VAR(opline->op1.var);
|
||||
|
||||
ht = ZEND_MAP_PTR_GET(EX(func)->op_array.static_variables_ptr);
|
||||
if (!ht) {
|
||||
ht = zend_array_dup(EX(func)->op_array.static_variables);
|
||||
ZEND_MAP_PTR_SET(EX(func)->op_array.static_variables_ptr, ht);
|
||||
}
|
||||
ZEND_ASSERT(GC_REFCOUNT(ht) == 1);
|
||||
|
||||
value = (zval*)((char*)ht->arData + (opline->extended_value & ~(ZEND_BIND_REF|ZEND_BIND_IMPLICIT|ZEND_BIND_EXPLICIT)));
|
||||
|
||||
SAVE_OPLINE();
|
||||
if (opline->extended_value & ZEND_BIND_REF) {
|
||||
i_zval_ptr_dtor(variable_ptr);
|
||||
if (UNEXPECTED(!Z_ISREF_P(value))) {
|
||||
zend_reference *ref = (zend_reference*)emalloc(sizeof(zend_reference));
|
||||
GC_SET_REFCOUNT(ref, 2);
|
||||
GC_TYPE_INFO(ref) = GC_REFERENCE;
|
||||
if (opline->op2_type == IS_UNUSED) {
|
||||
ZVAL_COPY_VALUE(&ref->val, value);
|
||||
} else {
|
||||
ZEND_ASSERT(!Z_REFCOUNTED_P(value));
|
||||
ZVAL_COPY(&ref->val, get_zval_ptr_deref(opline->op2_type, opline->op2, BP_VAR_R));
|
||||
FREE_OP(opline->op2_type, opline->op2.var);
|
||||
}
|
||||
ref->sources.ptr = NULL;
|
||||
Z_REF_P(value) = ref;
|
||||
Z_TYPE_INFO_P(value) = IS_REFERENCE_EX;
|
||||
ZVAL_REF(variable_ptr, ref);
|
||||
} else {
|
||||
Z_ADDREF_P(value);
|
||||
ZVAL_REF(variable_ptr, Z_REF_P(value));
|
||||
if (opline->op2_type != IS_UNUSED) {
|
||||
FREE_OP(opline->op2_type, opline->op2.var);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
i_zval_ptr_dtor(variable_ptr);
|
||||
ZVAL_COPY(variable_ptr, value);
|
||||
}
|
||||
|
||||
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
|
||||
}
|
||||
|
||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
USE_OPLINE
|
||||
HashTable *ht;
|
||||
zval *value;
|
||||
zval *variable_ptr;
|
||||
|
||||
variable_ptr = EX_VAR(opline->op1.var);
|
||||
|
||||
ht = ZEND_MAP_PTR_GET(EX(func)->op_array.static_variables_ptr);
|
||||
if (!ht) {
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
ZEND_ASSERT(GC_REFCOUNT(ht) == 1);
|
||||
|
||||
value = (zval*)((char*)ht->arData + opline->extended_value);
|
||||
if (Z_TYPE_EXTRA_P(value) & IS_STATIC_VAR_UNINITIALIZED) {
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
} else {
|
||||
SAVE_OPLINE();
|
||||
zval_ptr_dtor(variable_ptr);
|
||||
ZEND_ASSERT(Z_TYPE_P(value) == IS_REFERENCE);
|
||||
Z_ADDREF_P(value);
|
||||
ZVAL_REF(variable_ptr, Z_REF_P(value));
|
||||
ZEND_VM_JMP_EX(OP_JMP_ADDR(opline, opline->op2), 1);
|
||||
}
|
||||
}
|
||||
|
||||
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
USE_OPLINE
|
||||
@ -49560,54 +49639,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CV_UNUSED_HANDLER(Z
|
||||
ZEND_VM_RETURN();
|
||||
}
|
||||
|
||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_STATIC_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
USE_OPLINE
|
||||
HashTable *ht;
|
||||
zval *value;
|
||||
zval *variable_ptr;
|
||||
|
||||
variable_ptr = EX_VAR(opline->op1.var);
|
||||
|
||||
ht = ZEND_MAP_PTR_GET(EX(func)->op_array.static_variables_ptr);
|
||||
if (!ht) {
|
||||
ht = zend_array_dup(EX(func)->op_array.static_variables);
|
||||
ZEND_MAP_PTR_SET(EX(func)->op_array.static_variables_ptr, ht);
|
||||
}
|
||||
ZEND_ASSERT(GC_REFCOUNT(ht) == 1);
|
||||
|
||||
value = (zval*)((char*)ht->arData + (opline->extended_value & ~(ZEND_BIND_REF|ZEND_BIND_IMPLICIT|ZEND_BIND_EXPLICIT)));
|
||||
|
||||
SAVE_OPLINE();
|
||||
if (opline->extended_value & ZEND_BIND_REF) {
|
||||
if (Z_TYPE_P(value) == IS_CONSTANT_AST) {
|
||||
if (UNEXPECTED(zval_update_constant_ex(value, EX(func)->op_array.scope) != SUCCESS)) {
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
}
|
||||
|
||||
i_zval_ptr_dtor(variable_ptr);
|
||||
if (UNEXPECTED(!Z_ISREF_P(value))) {
|
||||
zend_reference *ref = (zend_reference*)emalloc(sizeof(zend_reference));
|
||||
GC_SET_REFCOUNT(ref, 2);
|
||||
GC_TYPE_INFO(ref) = GC_REFERENCE;
|
||||
ZVAL_COPY_VALUE(&ref->val, value);
|
||||
ref->sources.ptr = NULL;
|
||||
Z_REF_P(value) = ref;
|
||||
Z_TYPE_INFO_P(value) = IS_REFERENCE_EX;
|
||||
ZVAL_REF(variable_ptr, ref);
|
||||
} else {
|
||||
Z_ADDREF_P(value);
|
||||
ZVAL_REF(variable_ptr, Z_REF_P(value));
|
||||
}
|
||||
} else {
|
||||
i_zval_ptr_dtor(variable_ptr);
|
||||
ZVAL_COPY(variable_ptr, value);
|
||||
}
|
||||
|
||||
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
|
||||
}
|
||||
|
||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CHECK_VAR_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
{
|
||||
USE_OPLINE
|
||||
@ -55758,7 +55789,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
|
||||
(void*)&&ZEND_NULL_LABEL,
|
||||
(void*)&&ZEND_NULL_LABEL,
|
||||
(void*)&&ZEND_BIND_LEXICAL_SPEC_TMP_CV_LABEL,
|
||||
(void*)&&ZEND_BIND_STATIC_SPEC_CV_UNUSED_LABEL,
|
||||
(void*)&&ZEND_BIND_STATIC_SPEC_CV_LABEL,
|
||||
(void*)&&ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED_LABEL,
|
||||
(void*)&&ZEND_SEND_FUNC_ARG_SPEC_VAR_CONST_LABEL,
|
||||
(void*)&&ZEND_NULL_LABEL,
|
||||
@ -55866,6 +55897,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
|
||||
(void*)&&ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED_LABEL,
|
||||
(void*)&&ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED_LABEL,
|
||||
(void*)&&ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_LABEL,
|
||||
(void*)&&ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV_LABEL,
|
||||
(void*)&&ZEND_RECV_NOTYPE_SPEC_LABEL,
|
||||
(void*)&&ZEND_JMP_FORWARD_SPEC_LABEL,
|
||||
(void*)&&ZEND_NULL_LABEL,
|
||||
@ -60435,6 +60467,14 @@ zend_leave_helper_SPEC_LABEL:
|
||||
VM_TRACE(ZEND_FETCH_CLASS_NAME_SPEC_CV)
|
||||
ZEND_FETCH_CLASS_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
HYBRID_BREAK();
|
||||
HYBRID_CASE(ZEND_BIND_STATIC_SPEC_CV):
|
||||
VM_TRACE(ZEND_BIND_STATIC_SPEC_CV)
|
||||
ZEND_BIND_STATIC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
HYBRID_BREAK();
|
||||
HYBRID_CASE(ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV):
|
||||
VM_TRACE(ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV)
|
||||
ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
HYBRID_BREAK();
|
||||
HYBRID_CASE(ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED):
|
||||
VM_TRACE(ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED)
|
||||
ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
@ -61079,10 +61119,6 @@ zend_leave_helper_SPEC_LABEL:
|
||||
VM_TRACE(ZEND_YIELD_SPEC_CV_UNUSED)
|
||||
ZEND_YIELD_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
HYBRID_BREAK();
|
||||
HYBRID_CASE(ZEND_BIND_STATIC_SPEC_CV_UNUSED):
|
||||
VM_TRACE(ZEND_BIND_STATIC_SPEC_CV_UNUSED)
|
||||
ZEND_BIND_STATIC_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
HYBRID_BREAK();
|
||||
HYBRID_CASE(ZEND_CHECK_VAR_SPEC_CV_UNUSED):
|
||||
VM_TRACE(ZEND_CHECK_VAR_SPEC_CV_UNUSED)
|
||||
ZEND_CHECK_VAR_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||
@ -63862,7 +63898,7 @@ void zend_vm_init(void)
|
||||
ZEND_NULL_HANDLER,
|
||||
ZEND_NULL_HANDLER,
|
||||
ZEND_BIND_LEXICAL_SPEC_TMP_CV_HANDLER,
|
||||
ZEND_BIND_STATIC_SPEC_CV_UNUSED_HANDLER,
|
||||
ZEND_BIND_STATIC_SPEC_CV_HANDLER,
|
||||
ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED_HANDLER,
|
||||
ZEND_SEND_FUNC_ARG_SPEC_VAR_CONST_HANDLER,
|
||||
ZEND_NULL_HANDLER,
|
||||
@ -63970,6 +64006,7 @@ void zend_vm_init(void)
|
||||
ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED_HANDLER,
|
||||
ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED_HANDLER,
|
||||
ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_HANDLER,
|
||||
ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV_HANDLER,
|
||||
ZEND_RECV_NOTYPE_SPEC_HANDLER,
|
||||
ZEND_JMP_FORWARD_SPEC_HANDLER,
|
||||
ZEND_NULL_HANDLER,
|
||||
@ -64921,7 +64958,7 @@ void zend_vm_init(void)
|
||||
1255,
|
||||
1256 | SPEC_RULE_OP1,
|
||||
1261 | SPEC_RULE_OP1,
|
||||
3470,
|
||||
3471,
|
||||
1266 | SPEC_RULE_OP1,
|
||||
1271 | SPEC_RULE_OP1,
|
||||
1276 | SPEC_RULE_OP2,
|
||||
@ -65079,59 +65116,59 @@ void zend_vm_init(void)
|
||||
2564,
|
||||
2565,
|
||||
2566,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
3470,
|
||||
2567,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
3471,
|
||||
};
|
||||
#if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID)
|
||||
zend_opcode_handler_funcs = labels;
|
||||
@ -65304,7 +65341,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2569 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2570 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
if (op->op1_type < op->op2_type) {
|
||||
zend_swap_operands(op);
|
||||
}
|
||||
@ -65312,7 +65349,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2594 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2595 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
if (op->op1_type < op->op2_type) {
|
||||
zend_swap_operands(op);
|
||||
}
|
||||
@ -65320,7 +65357,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2619 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2620 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
if (op->op1_type < op->op2_type) {
|
||||
zend_swap_operands(op);
|
||||
}
|
||||
@ -65331,17 +65368,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2644 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
spec = 2645 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
} else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2669 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
spec = 2670 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2694 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
spec = 2695 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
}
|
||||
break;
|
||||
case ZEND_MUL:
|
||||
@ -65352,17 +65389,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2719 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2720 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2744 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2745 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2769 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2770 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
}
|
||||
break;
|
||||
case ZEND_IS_IDENTICAL:
|
||||
@ -65373,14 +65410,14 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2794 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2795 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2869 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2870 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op->op1_type == IS_CV && (op->op2_type & (IS_CONST|IS_CV)) && !(op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) && !(op2_info & (MAY_BE_UNDEF|MAY_BE_REF))) {
|
||||
spec = 3094 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 3095 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
}
|
||||
break;
|
||||
case ZEND_IS_NOT_IDENTICAL:
|
||||
@ -65391,14 +65428,14 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2944 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2945 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3019 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 3020 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op->op1_type == IS_CV && (op->op2_type & (IS_CONST|IS_CV)) && !(op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) && !(op2_info & (MAY_BE_UNDEF|MAY_BE_REF))) {
|
||||
spec = 3099 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 3100 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||
}
|
||||
break;
|
||||
case ZEND_IS_EQUAL:
|
||||
@ -65409,12 +65446,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2794 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2795 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2869 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2870 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
}
|
||||
break;
|
||||
case ZEND_IS_NOT_EQUAL:
|
||||
@ -65425,12 +65462,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 2944 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 2945 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3019 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
spec = 3020 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||
}
|
||||
break;
|
||||
case ZEND_IS_SMALLER:
|
||||
@ -65438,12 +65475,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3104 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
spec = 3105 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3179 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
spec = 3180 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
}
|
||||
break;
|
||||
case ZEND_IS_SMALLER_OR_EQUAL:
|
||||
@ -65451,74 +65488,74 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3254 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
spec = 3255 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3329 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
spec = 3330 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||
}
|
||||
break;
|
||||
case ZEND_QM_ASSIGN:
|
||||
if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3416 | SPEC_RULE_OP1;
|
||||
spec = 3417 | SPEC_RULE_OP1;
|
||||
} else if (op1_info == MAY_BE_DOUBLE) {
|
||||
spec = 3421 | SPEC_RULE_OP1;
|
||||
spec = 3422 | SPEC_RULE_OP1;
|
||||
} else if ((op->op1_type == IS_CONST) ? !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1)) : (!(op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE))))) {
|
||||
spec = 3426 | SPEC_RULE_OP1;
|
||||
spec = 3427 | SPEC_RULE_OP1;
|
||||
}
|
||||
break;
|
||||
case ZEND_PRE_INC:
|
||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||
spec = 3404 | SPEC_RULE_RETVAL;
|
||||
spec = 3405 | SPEC_RULE_RETVAL;
|
||||
} else if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3406 | SPEC_RULE_RETVAL;
|
||||
spec = 3407 | SPEC_RULE_RETVAL;
|
||||
}
|
||||
break;
|
||||
case ZEND_PRE_DEC:
|
||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||
spec = 3408 | SPEC_RULE_RETVAL;
|
||||
spec = 3409 | SPEC_RULE_RETVAL;
|
||||
} else if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3410 | SPEC_RULE_RETVAL;
|
||||
spec = 3411 | SPEC_RULE_RETVAL;
|
||||
}
|
||||
break;
|
||||
case ZEND_POST_INC:
|
||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||
spec = 3412;
|
||||
} else if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3413;
|
||||
} else if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3414;
|
||||
}
|
||||
break;
|
||||
case ZEND_POST_DEC:
|
||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||
spec = 3414;
|
||||
} else if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3415;
|
||||
} else if (op1_info == MAY_BE_LONG) {
|
||||
spec = 3416;
|
||||
}
|
||||
break;
|
||||
case ZEND_JMP:
|
||||
if (OP_JMP_ADDR(op, op->op1) > op) {
|
||||
spec = 2568;
|
||||
spec = 2569;
|
||||
}
|
||||
break;
|
||||
case ZEND_RECV:
|
||||
if (op->op2.num == MAY_BE_ANY) {
|
||||
spec = 2567;
|
||||
spec = 2568;
|
||||
}
|
||||
break;
|
||||
case ZEND_SEND_VAL:
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_UNUSED && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) {
|
||||
spec = 3466;
|
||||
spec = 3467;
|
||||
}
|
||||
break;
|
||||
case ZEND_SEND_VAR_EX:
|
||||
if (op->op2_type == IS_UNUSED && op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
|
||||
spec = 3461 | SPEC_RULE_OP1;
|
||||
spec = 3462 | SPEC_RULE_OP1;
|
||||
}
|
||||
break;
|
||||
case ZEND_FE_FETCH_R:
|
||||
if (op->op2_type == IS_CV && (op1_info & (MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) {
|
||||
spec = 3468 | SPEC_RULE_RETVAL;
|
||||
spec = 3469 | SPEC_RULE_RETVAL;
|
||||
}
|
||||
break;
|
||||
case ZEND_FETCH_DIM_R:
|
||||
@ -65526,17 +65563,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t
|
||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||
break;
|
||||
}
|
||||
spec = 3431 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
spec = 3432 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||
}
|
||||
break;
|
||||
case ZEND_SEND_VAL_EX:
|
||||
if (op->op2_type == IS_UNUSED && op->op2.num <= MAX_ARG_FLAG_NUM && op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) {
|
||||
spec = 3467;
|
||||
spec = 3468;
|
||||
}
|
||||
break;
|
||||
case ZEND_SEND_VAR:
|
||||
if (op->op2_type == IS_UNUSED && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
|
||||
spec = 3456 | SPEC_RULE_OP1;
|
||||
spec = 3457 | SPEC_RULE_OP1;
|
||||
}
|
||||
break;
|
||||
case ZEND_BW_OR:
|
||||
|
@ -1291,7 +1291,7 @@
|
||||
_(2450, ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUSED_TMPVARCV) \
|
||||
_(2452, ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUSED_TMPVARCV) \
|
||||
_(2458, ZEND_BIND_LEXICAL_SPEC_TMP_CV) \
|
||||
_(2459, ZEND_BIND_STATIC_SPEC_CV_UNUSED) \
|
||||
_(2459, ZEND_BIND_STATIC_SPEC_CV) \
|
||||
_(2460, ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED) \
|
||||
_(2461, ZEND_SEND_FUNC_ARG_SPEC_VAR_CONST) \
|
||||
_(2464, ZEND_SEND_FUNC_ARG_SPEC_VAR_UNUSED) \
|
||||
@ -1362,498 +1362,499 @@
|
||||
_(2564, ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED) \
|
||||
_(2565, ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED) \
|
||||
_(2566, ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED) \
|
||||
_(2567, ZEND_RECV_NOTYPE_SPEC) \
|
||||
_(2568, ZEND_JMP_FORWARD_SPEC) \
|
||||
_(2574, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2575, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2567, ZEND_BIND_INIT_STATIC_OR_JMP_SPEC_CV) \
|
||||
_(2568, ZEND_RECV_NOTYPE_SPEC) \
|
||||
_(2569, ZEND_JMP_FORWARD_SPEC) \
|
||||
_(2575, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2576, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2578, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2579, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2580, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2577, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2579, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2580, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2581, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2583, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2589, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2590, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2582, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2584, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2590, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2591, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2593, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2599, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2600, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2592, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2594, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2600, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2601, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2603, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2604, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2605, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2602, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2604, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2605, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2606, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2608, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2614, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2615, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2607, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2609, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2615, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2616, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2618, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2624, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2625, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2617, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2619, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2625, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2626, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2628, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2629, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2630, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2627, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2629, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2630, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2631, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2633, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2639, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2640, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2632, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2634, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2640, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2641, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2643, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2645, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||
_(2642, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2644, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2646, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||
_(2648, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||
_(2649, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2650, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2647, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||
_(2649, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||
_(2650, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2651, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2653, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2654, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2655, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2652, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2654, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2655, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2656, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2658, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2664, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2665, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2657, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2659, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2665, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2666, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2668, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2670, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(2667, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2669, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2671, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(2673, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(2674, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2675, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2672, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(2674, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(2675, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2676, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2678, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2679, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2680, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2677, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2679, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2680, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2681, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2683, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2689, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2690, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2682, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2684, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2690, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2691, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2693, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2695, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(2692, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2694, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2696, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(2698, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(2699, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2700, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2697, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(2699, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(2700, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2701, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2703, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2704, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2705, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2702, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2704, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2705, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2706, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2708, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2714, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2715, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2707, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2709, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2715, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2716, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2718, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2724, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2725, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2717, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2719, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2725, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2726, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2728, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2729, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2730, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2727, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2729, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2730, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2731, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2733, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2739, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2740, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2732, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2734, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2740, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||
_(2741, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2743, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2749, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2750, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2742, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2744, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2750, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2751, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2753, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2754, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2755, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2752, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2754, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2755, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2756, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2758, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2764, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2765, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2757, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2759, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2765, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2766, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2768, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2774, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2775, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2767, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2769, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2775, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2776, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2778, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2779, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2780, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2777, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2779, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2780, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2781, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2783, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2789, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2790, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2782, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2784, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2790, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2791, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2793, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2809, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2810, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2811, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2812, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2813, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2814, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2815, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2816, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2817, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2821, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2822, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2823, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2824, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2825, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2826, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2827, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2828, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2829, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2830, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2831, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2832, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2836, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2837, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2838, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2854, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2855, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2856, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2857, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2858, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2859, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2860, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2861, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2862, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2866, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2867, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2868, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2884, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2885, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2886, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2887, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2888, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2889, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2890, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2891, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2892, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2896, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2897, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2898, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2899, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2900, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2901, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2902, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2903, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2904, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2905, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2906, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2907, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2911, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2912, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2913, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2929, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2930, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2931, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2932, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2933, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2934, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2935, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2936, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2937, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2941, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2942, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2943, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2959, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2960, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2961, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2962, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2963, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2964, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2965, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2966, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2967, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2971, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2972, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2973, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2974, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2975, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2976, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2977, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2978, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2979, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2980, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2981, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2982, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2986, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2987, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2988, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3004, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3005, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3006, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3007, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3008, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3009, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3010, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3011, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3012, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3016, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3017, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3018, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3034, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3035, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3036, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3037, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3038, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3039, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3040, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3041, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3042, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3046, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3047, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3048, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3049, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3050, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3051, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3052, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3053, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3054, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3055, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3056, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3057, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3061, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3062, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3063, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3079, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3080, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3081, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3082, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3083, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3084, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3085, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3086, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3087, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3091, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3092, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3093, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3094, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
||||
_(3098, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
||||
_(3099, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
||||
_(3103, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
||||
_(3107, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3108, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3109, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3110, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3111, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3112, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3116, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3117, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3118, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3119, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3120, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3121, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3122, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3123, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3124, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3125, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3126, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3127, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3131, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3132, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3133, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3134, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3135, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3136, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3137, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3138, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3139, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3140, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3141, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3142, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3146, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3147, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3148, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3164, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3165, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3166, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3167, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3168, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3169, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3170, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3171, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3172, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3176, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3177, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3178, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3182, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3183, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3184, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3185, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3186, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3187, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3191, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3192, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3193, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3194, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3195, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3196, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3197, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3198, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3199, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3200, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3201, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3202, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3206, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3207, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3208, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3209, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3210, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3211, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3212, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3213, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3214, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3215, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3216, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3217, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3221, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3222, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3223, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3239, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3240, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3241, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3242, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3243, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3244, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3245, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3246, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3247, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3251, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3252, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3253, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3257, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3258, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3259, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3260, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3261, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3262, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3266, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3267, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3268, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3269, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3270, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3271, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3272, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3273, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3274, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3275, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3276, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3277, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3281, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3282, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3283, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3284, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3285, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3286, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3287, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3288, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3289, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3290, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3291, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3292, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3296, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3297, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3298, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3314, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3315, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3316, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3317, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3318, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3319, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3320, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3321, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3322, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3326, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3327, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3328, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3332, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3333, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3334, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3335, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3336, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3337, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3341, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3342, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3343, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3344, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3345, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3346, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3347, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3348, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3349, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3350, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3351, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3352, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3356, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3357, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3358, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3359, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3360, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3361, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3362, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3363, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3364, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3365, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3366, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3367, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3371, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3372, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3373, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3389, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3390, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3391, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3392, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3393, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3394, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3395, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3396, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3397, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3401, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3402, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3403, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3404, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3405, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
||||
_(3406, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3407, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_USED) \
|
||||
_(3408, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3409, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
||||
_(3410, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3411, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_USED) \
|
||||
_(3412, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_CV) \
|
||||
_(3413, ZEND_POST_INC_LONG_SPEC_CV) \
|
||||
_(3414, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_CV) \
|
||||
_(3415, ZEND_POST_DEC_LONG_SPEC_CV) \
|
||||
_(3416, ZEND_QM_ASSIGN_LONG_SPEC_CONST) \
|
||||
_(3417, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||
_(2792, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2794, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2810, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2811, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2812, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2813, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2814, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2815, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2816, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2817, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2818, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2822, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2823, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2824, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2825, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2826, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2827, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2828, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2829, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2830, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2831, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2832, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2833, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2837, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2838, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2839, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2855, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2856, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2857, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2858, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2859, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2860, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2861, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2862, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2863, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2867, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2868, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2869, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2885, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2886, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2887, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2888, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2889, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2890, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2891, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2892, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2893, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2897, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2898, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2899, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2900, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2901, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2902, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2903, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2904, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2905, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2906, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2907, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2908, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2912, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2913, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2914, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2930, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(2931, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2932, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2933, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2934, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2935, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2936, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2937, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2938, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2942, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2943, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2944, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2960, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2961, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2962, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2963, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2964, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2965, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2966, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2967, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2968, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2972, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2973, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2974, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2975, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(2976, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(2977, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(2978, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2979, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2980, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2981, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2982, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2983, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(2987, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(2988, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(2989, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3005, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3006, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3007, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3008, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3009, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3010, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3011, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3012, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3013, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3017, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3018, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3019, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3035, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3036, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3037, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3038, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3039, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3040, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3041, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3042, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3043, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3047, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3048, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3049, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3050, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3051, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3052, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3053, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3054, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3055, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3056, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3057, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3058, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3062, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3063, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3064, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3080, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3081, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3082, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3083, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3084, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3085, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3086, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3087, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3088, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3092, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3093, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3094, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3095, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
||||
_(3099, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
||||
_(3100, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
||||
_(3104, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
||||
_(3108, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3109, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3110, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3111, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3112, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3113, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3117, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3118, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3119, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3120, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3121, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3122, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3123, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3124, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3125, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3126, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3127, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3128, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3132, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3133, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3134, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3135, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3136, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3137, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3138, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3139, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3140, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3141, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3142, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3143, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3147, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3148, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3149, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3165, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3166, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3167, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3168, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3169, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3170, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3171, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3172, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3173, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3177, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3178, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3179, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3183, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3184, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3185, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3186, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3187, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3188, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3192, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3193, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3194, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3195, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3196, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3197, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3198, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3199, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3200, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3201, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3202, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3203, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3207, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3208, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3209, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3210, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3211, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3212, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3213, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3214, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3215, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3216, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3217, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3218, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3222, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3223, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3224, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3240, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3241, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3242, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3243, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3244, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3245, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3246, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3247, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3248, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3252, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3253, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3254, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3258, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3259, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3260, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3261, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3262, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3263, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3267, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||
_(3268, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3269, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3270, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3271, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3272, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3273, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3274, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3275, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3276, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3277, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3278, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3282, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3283, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3284, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3285, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3286, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3287, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3288, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3289, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3290, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3291, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3292, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3293, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3297, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3298, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3299, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3315, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||
_(3316, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3317, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3318, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3319, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3320, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3321, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3322, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3323, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3327, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3328, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3329, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3333, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3334, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3335, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3336, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3337, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3338, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3342, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||
_(3343, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||
_(3344, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||
_(3345, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3346, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3347, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3348, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3349, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3350, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3351, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3352, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3353, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3357, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3358, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3359, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3360, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3361, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3362, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3363, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3364, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3365, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3366, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3367, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3368, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3372, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3373, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3374, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3390, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||
_(3391, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||
_(3392, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||
_(3393, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3394, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3395, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3396, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3397, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3398, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3402, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||
_(3403, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||
_(3404, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||
_(3405, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3406, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
||||
_(3407, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3408, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_USED) \
|
||||
_(3409, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3410, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
||||
_(3411, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
||||
_(3412, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_USED) \
|
||||
_(3413, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_CV) \
|
||||
_(3414, ZEND_POST_INC_LONG_SPEC_CV) \
|
||||
_(3415, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_CV) \
|
||||
_(3416, ZEND_POST_DEC_LONG_SPEC_CV) \
|
||||
_(3417, ZEND_QM_ASSIGN_LONG_SPEC_CONST) \
|
||||
_(3418, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||
_(3420, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||
_(3421, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \
|
||||
_(3422, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||
_(3419, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||
_(3421, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||
_(3422, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \
|
||||
_(3423, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||
_(3425, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||
_(3426, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \
|
||||
_(3427, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||
_(3424, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||
_(3426, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||
_(3427, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \
|
||||
_(3428, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||
_(3430, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||
_(3432, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||
_(3429, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||
_(3431, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||
_(3433, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||
_(3435, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||
_(3436, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
||||
_(3437, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3434, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||
_(3436, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||
_(3437, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
||||
_(3438, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3440, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3441, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
||||
_(3442, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3439, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3441, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3442, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
||||
_(3443, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3445, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3451, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \
|
||||
_(3452, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||
_(3444, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3446, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||
_(3452, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \
|
||||
_(3453, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||
_(3455, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||
_(3458, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \
|
||||
_(3460, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \
|
||||
_(3463, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR_UNUSED) \
|
||||
_(3465, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV_UNUSED) \
|
||||
_(3466, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \
|
||||
_(3467, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \
|
||||
_(3468, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \
|
||||
_(3469, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \
|
||||
_(3469+1, ZEND_NULL)
|
||||
_(3454, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||
_(3456, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||
_(3459, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \
|
||||
_(3461, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \
|
||||
_(3464, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR_UNUSED) \
|
||||
_(3466, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV_UNUSED) \
|
||||
_(3467, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \
|
||||
_(3468, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \
|
||||
_(3469, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \
|
||||
_(3470, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \
|
||||
_(3470+1, ZEND_NULL)
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <zend.h>
|
||||
#include <zend_vm_opcodes.h>
|
||||
|
||||
static const char *zend_vm_opcodes_names[203] = {
|
||||
static const char *zend_vm_opcodes_names[204] = {
|
||||
"ZEND_NOP",
|
||||
"ZEND_ADD",
|
||||
"ZEND_SUB",
|
||||
@ -226,9 +226,10 @@ static const char *zend_vm_opcodes_names[203] = {
|
||||
"ZEND_FETCH_GLOBALS",
|
||||
"ZEND_VERIFY_NEVER_TYPE",
|
||||
"ZEND_CALLABLE_CONVERT",
|
||||
"ZEND_BIND_INIT_STATIC_OR_JMP",
|
||||
};
|
||||
|
||||
static uint32_t zend_vm_opcodes_flags[203] = {
|
||||
static uint32_t zend_vm_opcodes_flags[204] = {
|
||||
0x00000000,
|
||||
0x00000b0b,
|
||||
0x00000b0b,
|
||||
@ -412,7 +413,7 @@ static uint32_t zend_vm_opcodes_flags[203] = {
|
||||
0x00067000,
|
||||
0x00040b73,
|
||||
0x00100101,
|
||||
0x00100101,
|
||||
0x00100001,
|
||||
0x00000101,
|
||||
0x00001301,
|
||||
0x00000101,
|
||||
@ -432,6 +433,7 @@ static uint32_t zend_vm_opcodes_flags[203] = {
|
||||
0x00000101,
|
||||
0x00000101,
|
||||
0x00000101,
|
||||
0x00002001,
|
||||
};
|
||||
|
||||
ZEND_API const char* ZEND_FASTCALL zend_get_opcode_name(uint8_t opcode) {
|
||||
|
@ -285,7 +285,8 @@ END_EXTERN_C()
|
||||
#define ZEND_FETCH_GLOBALS 200
|
||||
#define ZEND_VERIFY_NEVER_TYPE 201
|
||||
#define ZEND_CALLABLE_CONVERT 202
|
||||
#define ZEND_BIND_INIT_STATIC_OR_JMP 203
|
||||
|
||||
#define ZEND_VM_LAST_OPCODE 202
|
||||
#define ZEND_VM_LAST_OPCODE 203
|
||||
|
||||
#endif
|
||||
|
@ -366,6 +366,7 @@ static int zend_jit_needs_call_chain(zend_call_info *call_info, uint32_t b, cons
|
||||
case ZEND_DECLARE_ANON_CLASS:
|
||||
case ZEND_FE_FETCH_R:
|
||||
case ZEND_FE_FETCH_RW:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
return 1;
|
||||
case ZEND_DO_ICALL:
|
||||
case ZEND_DO_UCALL:
|
||||
@ -448,6 +449,7 @@ static int zend_jit_needs_call_chain(zend_call_info *call_info, uint32_t b, cons
|
||||
case ZEND_DECLARE_ANON_CLASS:
|
||||
case ZEND_FE_FETCH_R:
|
||||
case ZEND_FE_FETCH_RW:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
return 1;
|
||||
case ZEND_DO_ICALL:
|
||||
case ZEND_DO_UCALL:
|
||||
@ -4049,6 +4051,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_FE_FETCH_R:
|
||||
case ZEND_FE_FETCH_RW:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
if (!zend_jit_handler(&dasm_state, opline,
|
||||
zend_may_throw(opline, ssa_op, op_array, ssa)) ||
|
||||
!zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) {
|
||||
|
@ -332,6 +332,7 @@ static int zend_jit_trace_may_exit(const zend_op_array *op_array, const zend_op
|
||||
case ZEND_SWITCH_LONG:
|
||||
case ZEND_SWITCH_STRING:
|
||||
case ZEND_MATCH:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
/* branch opcodes */
|
||||
return 1;
|
||||
case ZEND_NEW:
|
||||
|
22
ext/opcache/tests/optimize_static_002.phpt
Normal file
22
ext/opcache/tests/optimize_static_002.phpt
Normal file
@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Keep BIND_STATIC when static variable has an initializer
|
||||
--INI--
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=1
|
||||
opcache.optimization_level=-1
|
||||
--EXTENSIONS--
|
||||
opcache
|
||||
--FILE--
|
||||
<?php
|
||||
function foo() {
|
||||
// Eliminating this does have a small side effect of not showing & for $a when var_dumping static variables
|
||||
static $a = 42;
|
||||
var_dump((new ReflectionFunction(__FUNCTION__))->getStaticVariables());
|
||||
}
|
||||
foo();
|
||||
?>
|
||||
--EXPECT--
|
||||
array(1) {
|
||||
["a"]=>
|
||||
int(42)
|
||||
}
|
24
ext/opcache/tests/optimize_static_003.phpt
Normal file
24
ext/opcache/tests/optimize_static_003.phpt
Normal file
@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
Keep BIND_STATIC when static variable has an initializer
|
||||
--INI--
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=1
|
||||
opcache.optimization_level=-1
|
||||
--EXTENSIONS--
|
||||
opcache
|
||||
--FILE--
|
||||
<?php
|
||||
function bar() {
|
||||
return 42;
|
||||
}
|
||||
function foo() {
|
||||
static $a = bar();
|
||||
var_dump((new ReflectionFunction(__FUNCTION__))->getStaticVariables());
|
||||
}
|
||||
foo();
|
||||
?>
|
||||
--EXPECT--
|
||||
array(1) {
|
||||
["a"]=>
|
||||
&int(42)
|
||||
}
|
@ -556,6 +556,7 @@ static void zend_file_cache_serialize_op_array(zend_op_array *op_arra
|
||||
case ZEND_FE_RESET_RW:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
SERIALIZE_PTR(opline->op2.jmp_addr);
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
@ -1404,6 +1405,7 @@ static void zend_file_cache_unserialize_op_array(zend_op_array *op_arr
|
||||
case ZEND_FE_RESET_RW:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
UNSERIALIZE_PTR(opline->op2.jmp_addr);
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
|
@ -578,6 +578,7 @@ static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_sc
|
||||
case ZEND_FE_RESET_RW:
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes];
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
|
@ -1949,7 +1949,6 @@ ZEND_METHOD(ReflectionFunctionAbstract, getStaticVariables)
|
||||
{
|
||||
reflection_object *intern;
|
||||
zend_function *fptr;
|
||||
zval *val;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
RETURN_THROWS();
|
||||
@ -1966,11 +1965,6 @@ ZEND_METHOD(ReflectionFunctionAbstract, getStaticVariables)
|
||||
ht = zend_array_dup(fptr->op_array.static_variables);
|
||||
ZEND_MAP_PTR_SET(fptr->op_array.static_variables_ptr, ht);
|
||||
}
|
||||
ZEND_HASH_MAP_FOREACH_VAL(ht, val) {
|
||||
if (UNEXPECTED(zval_update_constant_ex(val, fptr->common.scope) != SUCCESS)) {
|
||||
RETURN_THROWS();
|
||||
}
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
zend_hash_copy(Z_ARRVAL_P(return_value), ht, zval_add_ref);
|
||||
} else {
|
||||
RETURN_EMPTY_ARRAY();
|
||||
|
@ -0,0 +1,31 @@
|
||||
--TEST--
|
||||
ReflectionMethod::getStaticVariables() should not bleed IS_TYPE_UNINITIALIZED
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function test() {
|
||||
echo "test() called\n";
|
||||
return 42;
|
||||
}
|
||||
|
||||
function foo() {
|
||||
$methodInfo = new ReflectionFunction(__FUNCTION__);
|
||||
$nullWithIsTypeUninitialized = $methodInfo->getStaticVariables()['a'];
|
||||
|
||||
static $a = test();
|
||||
var_dump($a);
|
||||
|
||||
// Technically, IS_TYPE_UNINITIALIZED does bleed, but it doesn't matter since there's no way we
|
||||
// can assign it to the static variable directly instead of the reference.
|
||||
$staticVar = &$methodInfo->getStaticVariables()['a'];
|
||||
$staticVar = $nullWithIsTypeUninitialized;
|
||||
}
|
||||
|
||||
foo();
|
||||
foo();
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
test() called
|
||||
int(42)
|
||||
NULL
|
@ -9,6 +9,9 @@ function test1() {
|
||||
}
|
||||
|
||||
$rf = new ReflectionFunction('test1');
|
||||
var_dump($rf->getStaticVariables());
|
||||
test1();
|
||||
|
||||
$s = $rf->getStaticVariables();
|
||||
var_dump($s['x'] === test1());
|
||||
|
||||
@ -23,5 +26,9 @@ var_dump($rp->getDefaultValue() !== test2());
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
array(1) {
|
||||
["x"]=>
|
||||
NULL
|
||||
}
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
@ -436,7 +436,7 @@ static zend_always_inline bool phpdbg_is_ignored_opcode(uint8_t opcode) {
|
||||
|| opcode == ZEND_DECLARE_CLASS_DELAYED
|
||||
|| opcode == ZEND_DECLARE_ANON_CLASS || opcode == ZEND_FAST_RET || opcode == ZEND_TICKS
|
||||
|| opcode == ZEND_EXT_STMT || opcode == ZEND_EXT_FCALL_BEGIN || opcode == ZEND_EXT_FCALL_END
|
||||
|| opcode == ZEND_BIND_GLOBAL
|
||||
|| opcode == ZEND_BIND_GLOBAL || opcode == ZEND_BIND_INIT_STATIC_OR_JMP
|
||||
;
|
||||
}
|
||||
|
||||
|
@ -3,26 +3,9 @@ Multiple declarations of the same static variable
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$a = 5;
|
||||
|
||||
var_dump($a);
|
||||
|
||||
static $a = 10;
|
||||
static $a = 11;
|
||||
|
||||
var_dump($a);
|
||||
|
||||
function foo() {
|
||||
static $a = 13;
|
||||
static $a = 14;
|
||||
|
||||
var_dump($a);
|
||||
}
|
||||
|
||||
foo();
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
int(5)
|
||||
int(11)
|
||||
int(14)
|
||||
--EXPECTF--
|
||||
Fatal error: Duplicate declaration of static variable $a in %s on line %d
|
||||
|
Loading…
Reference in New Issue
Block a user