mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Add first-class callables
Support acquiring a Closure to a callable using the syntax func(...), $obj->method(...), etc. This is essentially a shortcut for Closure::fromCallable(). RFC: https://wiki.php.net/rfc/first_class_callable_syntax Closes GH-7019. Co-Authored-By: Nikita Popov <nikita.ppv@gmail.com>
This commit is contained in:
parent
42cb5b5fa8
commit
d0b09a7be4
40 changed files with 1078 additions and 515 deletions
|
@ -197,6 +197,10 @@ PHP 8.1 UPGRADE NOTES
|
||||||
default values, static variable and global constant initializers, as well
|
default values, static variable and global constant initializers, as well
|
||||||
as attribute arguments.
|
as attribute arguments.
|
||||||
RFC: https://wiki.php.net/rfc/new_in_initializers
|
RFC: https://wiki.php.net/rfc/new_in_initializers
|
||||||
|
. Closures for callables can now be created using the syntax `myFunc(...)`,
|
||||||
|
which is the same as `Closure::fromCallable('myFunc')`. Yes, the `...` is
|
||||||
|
part of the syntax, not an omission.
|
||||||
|
RFC: https://wiki.php.net/rfc/first_class_callable_syntax
|
||||||
. File uploads now provide an additional full_path key, which contains the
|
. File uploads now provide an additional full_path key, which contains the
|
||||||
full path (rather than just the basename) of the uploaded file. This is
|
full path (rather than just the basename) of the uploaded file. This is
|
||||||
intended for use in conjunction with "upload webkitdirectory".
|
intended for use in conjunction with "upload webkitdirectory".
|
||||||
|
|
|
@ -188,6 +188,7 @@ void zend_optimize_func_calls(zend_op_array *op_array, zend_optimizer_ctx *ctx)
|
||||||
case ZEND_DO_ICALL:
|
case ZEND_DO_ICALL:
|
||||||
case ZEND_DO_UCALL:
|
case ZEND_DO_UCALL:
|
||||||
case ZEND_DO_FCALL_BY_NAME:
|
case ZEND_DO_FCALL_BY_NAME:
|
||||||
|
case ZEND_CALLABLE_CONVERT:
|
||||||
call--;
|
call--;
|
||||||
if (call_stack[call].func && call_stack[call].opline) {
|
if (call_stack[call].func && call_stack[call].opline) {
|
||||||
zend_op *fcall = call_stack[call].opline;
|
zend_op *fcall = call_stack[call].opline;
|
||||||
|
@ -216,7 +217,8 @@ void zend_optimize_func_calls(zend_op_array *op_array, zend_optimizer_ctx *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ZEND_OPTIMIZER_PASS_16 & ctx->optimization_level)
|
if ((ZEND_OPTIMIZER_PASS_16 & ctx->optimization_level)
|
||||||
&& call_stack[call].try_inline) {
|
&& call_stack[call].try_inline
|
||||||
|
&& opline->opcode != ZEND_CALLABLE_CONVERT) {
|
||||||
zend_try_inline_call(op_array, fcall, opline, call_stack[call].func);
|
zend_try_inline_call(op_array, fcall, opline, call_stack[call].func);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,6 +106,7 @@ ZEND_API int zend_analyze_calls(zend_arena **arena, zend_script *script, uint32_
|
||||||
case ZEND_DO_ICALL:
|
case ZEND_DO_ICALL:
|
||||||
case ZEND_DO_UCALL:
|
case ZEND_DO_UCALL:
|
||||||
case ZEND_DO_FCALL_BY_NAME:
|
case ZEND_DO_FCALL_BY_NAME:
|
||||||
|
case ZEND_CALLABLE_CONVERT:
|
||||||
func_info->flags |= ZEND_FUNC_HAS_CALLS;
|
func_info->flags |= ZEND_FUNC_HAS_CALLS;
|
||||||
if (call_info) {
|
if (call_info) {
|
||||||
call_info->caller_call_opline = opline;
|
call_info->caller_call_opline = opline;
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include "zend_inference.h"
|
#include "zend_inference.h"
|
||||||
#include "zend_func_info.h"
|
#include "zend_func_info.h"
|
||||||
#include "zend_call_graph.h"
|
#include "zend_call_graph.h"
|
||||||
|
#include "zend_closures.h"
|
||||||
#include "zend_worklist.h"
|
#include "zend_worklist.h"
|
||||||
#include "zend_optimizer_internal.h"
|
#include "zend_optimizer_internal.h"
|
||||||
|
|
||||||
|
@ -3504,6 +3505,10 @@ static zend_always_inline int _zend_update_type_info(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ZEND_CALLABLE_CONVERT:
|
||||||
|
UPDATE_SSA_TYPE(MAY_BE_OBJECT | MAY_BE_RC1 | MAY_BE_RCN, ssa_op->result_def);
|
||||||
|
UPDATE_SSA_OBJ_TYPE(zend_ce_closure, /* is_instanceof */ false, ssa_op->result_def);
|
||||||
|
break;
|
||||||
case ZEND_FETCH_CONSTANT:
|
case ZEND_FETCH_CONSTANT:
|
||||||
case ZEND_FETCH_CLASS_CONSTANT:
|
case ZEND_FETCH_CLASS_CONSTANT:
|
||||||
UPDATE_SSA_TYPE(MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY, ssa_op->result_def);
|
UPDATE_SSA_TYPE(MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY, ssa_op->result_def);
|
||||||
|
|
10
Zend/tests/first_class_callable_001.phpt
Normal file
10
Zend/tests/first_class_callable_001.phpt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Internal
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$sprintf = sprintf(...);
|
||||||
|
|
||||||
|
echo $sprintf("Hello %s", "World");
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
Hello World
|
14
Zend/tests/first_class_callable_002.phpt
Normal file
14
Zend/tests/first_class_callable_002.phpt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from User
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
function foo() {
|
||||||
|
return "OK";
|
||||||
|
}
|
||||||
|
|
||||||
|
$foo = foo(...);
|
||||||
|
|
||||||
|
echo $foo();
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
OK
|
17
Zend/tests/first_class_callable_003.phpt
Normal file
17
Zend/tests/first_class_callable_003.phpt
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Method
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
class Foo {
|
||||||
|
public function bar() {
|
||||||
|
echo "OK";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$foo = new Foo;
|
||||||
|
$bar = $foo->bar(...);
|
||||||
|
|
||||||
|
echo $bar();
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
OK
|
21
Zend/tests/first_class_callable_004.phpt
Normal file
21
Zend/tests/first_class_callable_004.phpt
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Private Scope
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
class Foo {
|
||||||
|
private function method() {
|
||||||
|
return __METHOD__;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function bar() {
|
||||||
|
return $this->method(...);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$foo = new Foo;
|
||||||
|
$bar = $foo->bar(...);
|
||||||
|
|
||||||
|
echo ($bar())();
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
Foo::method
|
26
Zend/tests/first_class_callable_005.phpt
Normal file
26
Zend/tests/first_class_callable_005.phpt
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Magic
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
class Foo {
|
||||||
|
public function __call($method, $args) {
|
||||||
|
return $method;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function __callStatic($method, $args) {
|
||||||
|
return $method;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$foo = new Foo;
|
||||||
|
$bar = $foo->anythingInstance(...);
|
||||||
|
|
||||||
|
echo $bar() . PHP_EOL;
|
||||||
|
|
||||||
|
$qux = Foo::anythingStatic(...);
|
||||||
|
|
||||||
|
echo $qux();
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
anythingInstance
|
||||||
|
anythingStatic
|
13
Zend/tests/first_class_callable_006.phpt
Normal file
13
Zend/tests/first_class_callable_006.phpt
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Closure
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$foo = function(){};
|
||||||
|
$bar = $foo(...);
|
||||||
|
|
||||||
|
if ($foo === $bar) {
|
||||||
|
echo "OK";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
OK
|
12
Zend/tests/first_class_callable_007.phpt
Normal file
12
Zend/tests/first_class_callable_007.phpt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Special Compiler Function
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$strlen = strlen(...);
|
||||||
|
|
||||||
|
if ($strlen("Hello World") === 11) {
|
||||||
|
echo "OK";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
OK
|
12
Zend/tests/first_class_callable_008.phpt
Normal file
12
Zend/tests/first_class_callable_008.phpt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from NEW
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
class Foo {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
new Foo(...);
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
Fatal error: Cannot create Closure for new expression in %s on line 6
|
14
Zend/tests/first_class_callable_009.phpt
Normal file
14
Zend/tests/first_class_callable_009.phpt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable from Closure::__invoke
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$closure = function() {
|
||||||
|
return "OK";
|
||||||
|
};
|
||||||
|
|
||||||
|
$foo = $closure->__invoke(...);
|
||||||
|
|
||||||
|
echo $foo();
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
OK
|
18
Zend/tests/first_class_callable_010.phpt
Normal file
18
Zend/tests/first_class_callable_010.phpt
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable preserve Called Scope
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
class Foo {
|
||||||
|
public static function method() {
|
||||||
|
return static::class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Bar extends Foo {}
|
||||||
|
|
||||||
|
$bar = Bar::method(...);
|
||||||
|
|
||||||
|
echo $bar();
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
Bar
|
11
Zend/tests/first_class_callable_011.phpt
Normal file
11
Zend/tests/first_class_callable_011.phpt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--TEST--
|
||||||
|
First Class Callable Attribute Error
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
#[Attribute(...)]
|
||||||
|
class Foo {
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
Fatal error: Cannot create Closure as attribute argument in %s on line 3
|
10
Zend/tests/first_class_callable_012.phpt
Normal file
10
Zend/tests/first_class_callable_012.phpt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--TEST--
|
||||||
|
First class callable with nullsafe method call
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$foo?->bar(...);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
Fatal error: Cannot combine nullsafe operator with Closure creation in %s on line %d
|
10
Zend/tests/first_class_callable_013.phpt
Normal file
10
Zend/tests/first_class_callable_013.phpt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--TEST--
|
||||||
|
First class callable with nullsafe method call (nested)
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$foo?->foo->bar(...);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
Fatal error: Cannot combine nullsafe operator with Closure creation in %s on line %d
|
11
Zend/tests/first_class_callable_014.phpt
Normal file
11
Zend/tests/first_class_callable_014.phpt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--TEST--
|
||||||
|
First class callable with nullsafe method call (unrelated)
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$foo = null;
|
||||||
|
var_dump($foo?->foo($foo->bar(...)));
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
NULL
|
24
Zend/tests/first_class_callable_015.phpt
Normal file
24
Zend/tests/first_class_callable_015.phpt
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
--TEST--
|
||||||
|
First class callables and strict types
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
function test(int $i) {
|
||||||
|
var_dump($i);
|
||||||
|
}
|
||||||
|
|
||||||
|
require __DIR__ . '/first_class_callable_015_weak.inc';
|
||||||
|
require __DIR__ . '/first_class_callable_015_strict.inc';
|
||||||
|
$fn = test(...);
|
||||||
|
do_weak_call($fn);
|
||||||
|
try {
|
||||||
|
do_strict_call($fn);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
int(42)
|
||||||
|
test(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
|
5
Zend/tests/first_class_callable_015_strict.inc
Normal file
5
Zend/tests/first_class_callable_015_strict.inc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
function do_strict_call(Closure $fn) {
|
||||||
|
$fn("42");
|
||||||
|
}
|
5
Zend/tests/first_class_callable_015_weak.inc
Normal file
5
Zend/tests/first_class_callable_015_weak.inc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function do_weak_call(Closure $fn) {
|
||||||
|
$fn("42");
|
||||||
|
}
|
25
Zend/tests/first_class_callable_assert.phpt
Normal file
25
Zend/tests/first_class_callable_assert.phpt
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
--TEST--
|
||||||
|
Acquire callable to assert()
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Foo;
|
||||||
|
|
||||||
|
$assert = assert(...);
|
||||||
|
$assert(1 == 1.0, "Message 1");
|
||||||
|
try {
|
||||||
|
$assert(1 == 2.0, "Message 2");
|
||||||
|
} catch (\AssertionError $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
assert(false && strlen(...));
|
||||||
|
} catch (\AssertionError $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
Message 2
|
||||||
|
assert(false && strlen(...))
|
53
Zend/tests/first_class_callable_dynamic.phpt
Normal file
53
Zend/tests/first_class_callable_dynamic.phpt
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
--TEST--
|
||||||
|
Acquire callable through various dynamic constructs
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class A {
|
||||||
|
public static function b($x) {
|
||||||
|
return $x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function c($x) {
|
||||||
|
return $x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$name = 'strlen';
|
||||||
|
$fn = $name(...);
|
||||||
|
var_dump($fn('x'));
|
||||||
|
|
||||||
|
$name = ['A', 'b'];
|
||||||
|
$fn = $name(...);
|
||||||
|
var_dump($fn(2));
|
||||||
|
|
||||||
|
$name = [new A, 'c'];
|
||||||
|
$fn = $name(...);
|
||||||
|
var_dump($fn(3));
|
||||||
|
|
||||||
|
$name1 = 'A';
|
||||||
|
$name2 = 'b';
|
||||||
|
$fn = $name1::$name2(...);
|
||||||
|
var_dump($fn(4));
|
||||||
|
|
||||||
|
$name2 = 'c';
|
||||||
|
$fn = (new A)->$name2(...);
|
||||||
|
var_dump($fn(5));
|
||||||
|
|
||||||
|
$fn = [A::class, 'b'](...);
|
||||||
|
var_dump($fn(6));
|
||||||
|
|
||||||
|
$o = new stdClass;
|
||||||
|
$o->prop = A::b(...);
|
||||||
|
($o->prop)(7);
|
||||||
|
|
||||||
|
$nam
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
int(1)
|
||||||
|
int(2)
|
||||||
|
int(3)
|
||||||
|
int(4)
|
||||||
|
int(5)
|
||||||
|
int(6)
|
57
Zend/tests/first_class_callable_errors.phpt
Normal file
57
Zend/tests/first_class_callable_errors.phpt
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
--TEST--
|
||||||
|
Trying to acquire callable to something that's not callable
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class Test {
|
||||||
|
private static function privateMethod() {}
|
||||||
|
|
||||||
|
public function instanceMethod() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$fn = 123;
|
||||||
|
$fn(...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
does_not_exist(...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
stdClass::doesNotExist(...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
(new stdClass)->doesNotExist(...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
[new stdClass, 'doesNotExist'](...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Test::privateMethod(...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Test::instanceMethod(...);
|
||||||
|
} catch (Error $e) {
|
||||||
|
echo $e->getMessage(), "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
Value of type int is not callable
|
||||||
|
Call to undefined function does_not_exist()
|
||||||
|
Call to undefined method stdClass::doesNotExist()
|
||||||
|
Call to undefined method stdClass::doesNotExist()
|
||||||
|
Call to undefined method stdClass::doesNotExist()
|
||||||
|
Call to private method Test::privateMethod() from global scope
|
||||||
|
Non-static method Test::instanceMethod() cannot be called statically
|
17
Zend/tests/first_class_callable_optimization.phpt
Normal file
17
Zend/tests/first_class_callable_optimization.phpt
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--TEST--
|
||||||
|
Check interaction of first-class callables with optimization
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function test1() {}
|
||||||
|
function test2() { return 42; }
|
||||||
|
|
||||||
|
var_dump(test1(...));
|
||||||
|
var_dump(test2(...));
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
object(Closure)#1 (0) {
|
||||||
|
}
|
||||||
|
object(Closure)#1 (0) {
|
||||||
|
}
|
18
Zend/tests/first_class_callable_refs.phpt
Normal file
18
Zend/tests/first_class_callable_refs.phpt
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
--TEST--
|
||||||
|
First class callables and references
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function &id(&$x) {
|
||||||
|
return $x;
|
||||||
|
}
|
||||||
|
|
||||||
|
$fn = id(...);
|
||||||
|
$i = 0;
|
||||||
|
$i2 =& $fn($i);
|
||||||
|
$i++;
|
||||||
|
var_dump($i2);
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
int(1)
|
20
Zend/tests/first_class_callable_signature.phpt
Normal file
20
Zend/tests/first_class_callable_signature.phpt
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--TEST--
|
||||||
|
First class callables should retain the signature for reflection
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function test(int $a, string &$b, Foo... $c) {}
|
||||||
|
|
||||||
|
echo new ReflectionFunction(test(...));
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
Closure [ <user> function test ] {
|
||||||
|
@@ %s 3 - 3
|
||||||
|
|
||||||
|
- Parameters [3] {
|
||||||
|
Parameter #0 [ <required> int $a ]
|
||||||
|
Parameter #1 [ <required> string &$b ]
|
||||||
|
Parameter #2 [ <optional> Foo ...$c ]
|
||||||
|
}
|
||||||
|
}
|
|
@ -1963,6 +1963,9 @@ simple_list:
|
||||||
zend_ast_export_ex(str, ast->child[1], 0, indent);
|
zend_ast_export_ex(str, ast->child[1], 0, indent);
|
||||||
smart_str_appendc(str, ')');
|
smart_str_appendc(str, ')');
|
||||||
break;
|
break;
|
||||||
|
case ZEND_AST_CALLABLE_CONVERT:
|
||||||
|
smart_str_appends(str, "...");
|
||||||
|
break;
|
||||||
case ZEND_AST_CLASS_CONST:
|
case ZEND_AST_CLASS_CONST:
|
||||||
zend_ast_export_ns_name(str, ast->child[0], 0, indent);
|
zend_ast_export_ns_name(str, ast->child[0], 0, indent);
|
||||||
smart_str_appends(str, "::");
|
smart_str_appends(str, "::");
|
||||||
|
|
|
@ -71,6 +71,7 @@ enum _zend_ast_kind {
|
||||||
ZEND_AST_MAGIC_CONST = 0 << ZEND_AST_NUM_CHILDREN_SHIFT,
|
ZEND_AST_MAGIC_CONST = 0 << ZEND_AST_NUM_CHILDREN_SHIFT,
|
||||||
ZEND_AST_TYPE,
|
ZEND_AST_TYPE,
|
||||||
ZEND_AST_CONSTANT_CLASS,
|
ZEND_AST_CONSTANT_CLASS,
|
||||||
|
ZEND_AST_CALLABLE_CONVERT,
|
||||||
|
|
||||||
/* 1 child node */
|
/* 1 child node */
|
||||||
ZEND_AST_VAR = 1 << ZEND_AST_NUM_CHILDREN_SHIFT,
|
ZEND_AST_VAR = 1 << ZEND_AST_NUM_CHILDREN_SHIFT,
|
||||||
|
|
|
@ -518,7 +518,8 @@ static zend_object *zend_closure_clone(zend_object *zobject) /* {{{ */
|
||||||
|
|
||||||
int zend_closure_get_closure(zend_object *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr, bool check_only) /* {{{ */
|
int zend_closure_get_closure(zend_object *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr, bool check_only) /* {{{ */
|
||||||
{
|
{
|
||||||
zend_closure *closure = (zend_closure *)obj;
|
zend_closure *closure = (zend_closure*)obj;
|
||||||
|
|
||||||
*fptr_ptr = &closure->func;
|
*fptr_ptr = &closure->func;
|
||||||
*ce_ptr = closure->called_scope;
|
*ce_ptr = closure->called_scope;
|
||||||
|
|
||||||
|
@ -776,6 +777,43 @@ ZEND_API void zend_create_fake_closure(zval *res, zend_function *func, zend_clas
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
|
void zend_closure_from_frame(zval *return_value, zend_execute_data *call) { /* {{{ */
|
||||||
|
zval instance;
|
||||||
|
zend_internal_function trampoline;
|
||||||
|
zend_function *mptr = call->func;
|
||||||
|
|
||||||
|
if (ZEND_CALL_INFO(call) & ZEND_CALL_CLOSURE) {
|
||||||
|
RETURN_OBJ(ZEND_CLOSURE_OBJECT(mptr));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mptr->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
|
||||||
|
if ((ZEND_CALL_INFO(call) & ZEND_CALL_HAS_THIS) &&
|
||||||
|
(Z_OBJCE(call->This) == zend_ce_closure)
|
||||||
|
&& zend_string_equals_literal(mptr->common.function_name, "__invoke")) {
|
||||||
|
zend_free_trampoline(mptr);
|
||||||
|
RETURN_OBJ_COPY(Z_OBJ(call->This));
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(&trampoline, 0, sizeof(zend_internal_function));
|
||||||
|
trampoline.type = ZEND_INTERNAL_FUNCTION;
|
||||||
|
trampoline.fn_flags = mptr->common.fn_flags & ZEND_ACC_STATIC;
|
||||||
|
trampoline.handler = zend_closure_call_magic;
|
||||||
|
trampoline.function_name = mptr->common.function_name;
|
||||||
|
trampoline.scope = mptr->common.scope;
|
||||||
|
|
||||||
|
zend_free_trampoline(mptr);
|
||||||
|
mptr = (zend_function *) &trampoline;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ZEND_CALL_INFO(call) & ZEND_CALL_HAS_THIS) {
|
||||||
|
ZVAL_OBJ(&instance, Z_OBJ(call->This));
|
||||||
|
|
||||||
|
zend_create_fake_closure(return_value, mptr, mptr->common.scope, Z_OBJCE(instance), &instance);
|
||||||
|
} else {
|
||||||
|
zend_create_fake_closure(return_value, mptr, mptr->common.scope, Z_CE(call->This), NULL);
|
||||||
|
}
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
void zend_closure_bind_var(zval *closure_zv, zend_string *var_name, zval *var) /* {{{ */
|
void zend_closure_bind_var(zval *closure_zv, zend_string *var_name, zval *var) /* {{{ */
|
||||||
{
|
{
|
||||||
zend_closure *closure = (zend_closure *) Z_OBJ_P(closure_zv);
|
zend_closure *closure = (zend_closure *) Z_OBJ_P(closure_zv);
|
||||||
|
|
|
@ -29,6 +29,7 @@ BEGIN_EXTERN_C()
|
||||||
void zend_register_closure_ce(void);
|
void zend_register_closure_ce(void);
|
||||||
void zend_closure_bind_var(zval *closure_zv, zend_string *var_name, zval *var);
|
void zend_closure_bind_var(zval *closure_zv, zend_string *var_name, zval *var);
|
||||||
void zend_closure_bind_var_ex(zval *closure_zv, uint32_t offset, zval *val);
|
void zend_closure_bind_var_ex(zval *closure_zv, uint32_t offset, zval *val);
|
||||||
|
void zend_closure_from_frame(zval *closure_zv, zend_execute_data *frame);
|
||||||
|
|
||||||
extern ZEND_API zend_class_entry *zend_ce_closure;
|
extern ZEND_API zend_class_entry *zend_ce_closure;
|
||||||
|
|
||||||
|
|
|
@ -3674,14 +3674,29 @@ ZEND_API zend_uchar zend_get_call_op(const zend_op *init_op, zend_function *fbc)
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
void zend_compile_call_common(znode *result, zend_ast *args_ast, zend_function *fbc) /* {{{ */
|
bool zend_compile_call_common(znode *result, zend_ast *args_ast, zend_function *fbc) /* {{{ */
|
||||||
{
|
{
|
||||||
zend_op *opline;
|
zend_op *opline;
|
||||||
uint32_t opnum_init = get_next_op_number() - 1;
|
uint32_t opnum_init = get_next_op_number() - 1;
|
||||||
uint32_t arg_count;
|
|
||||||
bool may_have_extra_named_args;
|
|
||||||
|
|
||||||
arg_count = zend_compile_args(args_ast, fbc, &may_have_extra_named_args);
|
if (args_ast->kind == ZEND_AST_CALLABLE_CONVERT) {
|
||||||
|
opline = &CG(active_op_array)->opcodes[opnum_init];
|
||||||
|
opline->extended_value = 0;
|
||||||
|
|
||||||
|
if (opline->opcode == ZEND_NEW) {
|
||||||
|
zend_error_noreturn(E_COMPILE_ERROR, "Cannot create Closure for new expression");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opline->opcode == ZEND_INIT_FCALL) {
|
||||||
|
opline->op1.num = zend_vm_calc_used_stack(0, fbc);
|
||||||
|
}
|
||||||
|
|
||||||
|
zend_emit_op_tmp(result, ZEND_CALLABLE_CONVERT, NULL, NULL);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool may_have_extra_named_args;
|
||||||
|
uint32_t arg_count = zend_compile_args(args_ast, fbc, &may_have_extra_named_args);
|
||||||
|
|
||||||
zend_do_extended_fcall_begin();
|
zend_do_extended_fcall_begin();
|
||||||
|
|
||||||
|
@ -3697,6 +3712,7 @@ void zend_compile_call_common(znode *result, zend_ast *args_ast, zend_function *
|
||||||
opline->extended_value = ZEND_FCALL_MAY_HAVE_EXTRA_NAMED_PARAMS;
|
opline->extended_value = ZEND_FCALL_MAY_HAVE_EXTRA_NAMED_PARAMS;
|
||||||
}
|
}
|
||||||
zend_do_extended_fcall_end();
|
zend_do_extended_fcall_end();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
|
@ -4406,6 +4422,7 @@ void zend_compile_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */
|
||||||
{
|
{
|
||||||
zend_ast *name_ast = ast->child[0];
|
zend_ast *name_ast = ast->child[0];
|
||||||
zend_ast *args_ast = ast->child[1];
|
zend_ast *args_ast = ast->child[1];
|
||||||
|
bool is_callable_convert = args_ast->kind == ZEND_AST_CALLABLE_CONVERT;
|
||||||
|
|
||||||
znode name_node;
|
znode name_node;
|
||||||
|
|
||||||
|
@ -4418,7 +4435,8 @@ void zend_compile_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */
|
||||||
{
|
{
|
||||||
bool runtime_resolution = zend_compile_function_name(&name_node, name_ast);
|
bool runtime_resolution = zend_compile_function_name(&name_node, name_ast);
|
||||||
if (runtime_resolution) {
|
if (runtime_resolution) {
|
||||||
if (zend_string_equals_literal_ci(zend_ast_get_str(name_ast), "assert")) {
|
if (zend_string_equals_literal_ci(zend_ast_get_str(name_ast), "assert")
|
||||||
|
&& !is_callable_convert) {
|
||||||
zend_compile_assert(result, zend_ast_get_list(args_ast), Z_STR(name_node.u.constant), NULL);
|
zend_compile_assert(result, zend_ast_get_list(args_ast), Z_STR(name_node.u.constant), NULL);
|
||||||
} else {
|
} else {
|
||||||
zend_compile_ns_call(result, &name_node, args_ast);
|
zend_compile_ns_call(result, &name_node, args_ast);
|
||||||
|
@ -4437,7 +4455,7 @@ void zend_compile_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */
|
||||||
fbc = zend_hash_find_ptr(CG(function_table), lcname);
|
fbc = zend_hash_find_ptr(CG(function_table), lcname);
|
||||||
|
|
||||||
/* Special assert() handling should apply independently of compiler flags. */
|
/* Special assert() handling should apply independently of compiler flags. */
|
||||||
if (fbc && zend_string_equals_literal(lcname, "assert")) {
|
if (fbc && zend_string_equals_literal(lcname, "assert") && !is_callable_convert) {
|
||||||
zend_compile_assert(result, zend_ast_get_list(args_ast), lcname, fbc);
|
zend_compile_assert(result, zend_ast_get_list(args_ast), lcname, fbc);
|
||||||
zend_string_release(lcname);
|
zend_string_release(lcname);
|
||||||
zval_ptr_dtor(&name_node.u.constant);
|
zval_ptr_dtor(&name_node.u.constant);
|
||||||
|
@ -4454,7 +4472,8 @@ void zend_compile_call(znode *result, zend_ast *ast, uint32_t type) /* {{{ */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (zend_try_compile_special_func(result, lcname,
|
if (!is_callable_convert &&
|
||||||
|
zend_try_compile_special_func(result, lcname,
|
||||||
zend_ast_get_list(args_ast), fbc, type) == SUCCESS
|
zend_ast_get_list(args_ast), fbc, type) == SUCCESS
|
||||||
) {
|
) {
|
||||||
zend_string_release_ex(lcname, 0);
|
zend_string_release_ex(lcname, 0);
|
||||||
|
@ -4483,6 +4502,7 @@ void zend_compile_method_call(znode *result, zend_ast *ast, uint32_t type) /* {{
|
||||||
zend_op *opline;
|
zend_op *opline;
|
||||||
zend_function *fbc = NULL;
|
zend_function *fbc = NULL;
|
||||||
bool nullsafe = ast->kind == ZEND_AST_NULLSAFE_METHOD_CALL;
|
bool nullsafe = ast->kind == ZEND_AST_NULLSAFE_METHOD_CALL;
|
||||||
|
uint32_t short_circuiting_checkpoint = zend_short_circuiting_checkpoint();
|
||||||
|
|
||||||
if (is_this_fetch(obj_ast)) {
|
if (is_this_fetch(obj_ast)) {
|
||||||
if (this_guaranteed_exists()) {
|
if (this_guaranteed_exists()) {
|
||||||
|
@ -4531,7 +4551,12 @@ void zend_compile_method_call(znode *result, zend_ast *ast, uint32_t type) /* {{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
zend_compile_call_common(result, args_ast, fbc);
|
if (zend_compile_call_common(result, args_ast, fbc)) {
|
||||||
|
if (short_circuiting_checkpoint != zend_short_circuiting_checkpoint()) {
|
||||||
|
zend_error_noreturn(E_COMPILE_ERROR,
|
||||||
|
"Cannot combine nullsafe operator with Closure creation");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
|
@ -6437,6 +6462,13 @@ static void zend_compile_attributes(HashTable **attributes, zend_ast *ast, uint3
|
||||||
ZEND_ASSERT(group->child[i]->kind == ZEND_AST_ATTRIBUTE);
|
ZEND_ASSERT(group->child[i]->kind == ZEND_AST_ATTRIBUTE);
|
||||||
|
|
||||||
zend_ast *el = group->child[i];
|
zend_ast *el = group->child[i];
|
||||||
|
|
||||||
|
if (el->child[1] &&
|
||||||
|
el->child[1]->kind == ZEND_AST_CALLABLE_CONVERT) {
|
||||||
|
zend_error_noreturn(E_COMPILE_ERROR,
|
||||||
|
"Cannot create Closure as attribute argument");
|
||||||
|
}
|
||||||
|
|
||||||
zend_string *name = zend_resolve_class_name_ast(el->child[0]);
|
zend_string *name = zend_resolve_class_name_ast(el->child[0]);
|
||||||
zend_ast_list *args = el->child[1] ? zend_ast_get_list(el->child[1]) : NULL;
|
zend_ast_list *args = el->child[1] ? zend_ast_get_list(el->child[1]) : NULL;
|
||||||
|
|
||||||
|
|
|
@ -853,6 +853,7 @@ return_type:
|
||||||
argument_list:
|
argument_list:
|
||||||
'(' ')' { $$ = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
|
'(' ')' { $$ = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
|
||||||
| '(' non_empty_argument_list possible_comma ')' { $$ = $2; }
|
| '(' non_empty_argument_list possible_comma ')' { $$ = $2; }
|
||||||
|
| '(' T_ELLIPSIS ')' { $$ = zend_ast_create(ZEND_AST_CALLABLE_CONVERT); }
|
||||||
;
|
;
|
||||||
|
|
||||||
non_empty_argument_list:
|
non_empty_argument_list:
|
||||||
|
|
|
@ -9232,6 +9232,24 @@ ZEND_VM_HANDLER(167, ZEND_COPY_TMP, TMPVAR, UNUSED)
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ZEND_VM_HANDLER(202, ZEND_CALLABLE_CONVERT, UNUSED, UNUSED)
|
||||||
|
{
|
||||||
|
USE_OPLINE
|
||||||
|
zend_execute_data *call = EX(call);
|
||||||
|
|
||||||
|
zend_closure_from_frame(EX_VAR(opline->result.var), call);
|
||||||
|
|
||||||
|
if (ZEND_CALL_INFO(call) & ZEND_CALL_RELEASE_THIS) {
|
||||||
|
OBJ_RELEASE(Z_OBJ(call->This));
|
||||||
|
}
|
||||||
|
|
||||||
|
EX(call) = call->prev_execute_data;
|
||||||
|
|
||||||
|
zend_vm_stack_free_call_frame(call);
|
||||||
|
|
||||||
|
ZEND_VM_NEXT_OPCODE();
|
||||||
|
}
|
||||||
|
|
||||||
ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_JMP, (OP_JMP_ADDR(op, op->op1) > op), ZEND_JMP_FORWARD, JMP_ADDR, ANY)
|
ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_JMP, (OP_JMP_ADDR(op, op->op1) > op), ZEND_JMP_FORWARD, JMP_ADDR, ANY)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
|
|
|
@ -35543,6 +35543,24 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUS
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||||
|
{
|
||||||
|
USE_OPLINE
|
||||||
|
zend_execute_data *call = EX(call);
|
||||||
|
|
||||||
|
zend_closure_from_frame(EX_VAR(opline->result.var), call);
|
||||||
|
|
||||||
|
if (ZEND_CALL_INFO(call) & ZEND_CALL_RELEASE_THIS) {
|
||||||
|
OBJ_RELEASE(Z_OBJ(call->This));
|
||||||
|
}
|
||||||
|
|
||||||
|
EX(call) = call->prev_execute_data;
|
||||||
|
|
||||||
|
zend_vm_stack_free_call_frame(call);
|
||||||
|
|
||||||
|
ZEND_VM_NEXT_OPCODE();
|
||||||
|
}
|
||||||
|
|
||||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
|
@ -53549,6 +53567,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
|
||||||
(void*)&&ZEND_CHECK_UNDEF_ARGS_SPEC_UNUSED_UNUSED_LABEL,
|
(void*)&&ZEND_CHECK_UNDEF_ARGS_SPEC_UNUSED_UNUSED_LABEL,
|
||||||
(void*)&&ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED_LABEL,
|
(void*)&&ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED_LABEL,
|
||||||
(void*)&&ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED_LABEL,
|
(void*)&&ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED_LABEL,
|
||||||
|
(void*)&&ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_LABEL,
|
||||||
(void*)&&ZEND_RECV_NOTYPE_SPEC_LABEL,
|
(void*)&&ZEND_RECV_NOTYPE_SPEC_LABEL,
|
||||||
(void*)&&ZEND_JMP_FORWARD_SPEC_LABEL,
|
(void*)&&ZEND_JMP_FORWARD_SPEC_LABEL,
|
||||||
(void*)&&ZEND_NULL_LABEL,
|
(void*)&&ZEND_NULL_LABEL,
|
||||||
|
@ -57783,6 +57802,10 @@ zend_leave_helper_SPEC_LABEL:
|
||||||
VM_TRACE(ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED)
|
VM_TRACE(ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED)
|
||||||
ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||||
HYBRID_BREAK();
|
HYBRID_BREAK();
|
||||||
|
HYBRID_CASE(ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED):
|
||||||
|
VM_TRACE(ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED)
|
||||||
|
ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||||
|
HYBRID_BREAK();
|
||||||
HYBRID_CASE(ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV):
|
HYBRID_CASE(ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV):
|
||||||
VM_TRACE(ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV)
|
VM_TRACE(ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV)
|
||||||
ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
|
||||||
|
@ -61589,6 +61612,7 @@ void zend_vm_init(void)
|
||||||
ZEND_CHECK_UNDEF_ARGS_SPEC_UNUSED_UNUSED_HANDLER,
|
ZEND_CHECK_UNDEF_ARGS_SPEC_UNUSED_UNUSED_HANDLER,
|
||||||
ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED_HANDLER,
|
ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED_HANDLER,
|
||||||
ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED_HANDLER,
|
ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED_HANDLER,
|
||||||
|
ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_HANDLER,
|
||||||
ZEND_RECV_NOTYPE_SPEC_HANDLER,
|
ZEND_RECV_NOTYPE_SPEC_HANDLER,
|
||||||
ZEND_JMP_FORWARD_SPEC_HANDLER,
|
ZEND_JMP_FORWARD_SPEC_HANDLER,
|
||||||
ZEND_NULL_HANDLER,
|
ZEND_NULL_HANDLER,
|
||||||
|
@ -62697,7 +62721,8 @@ void zend_vm_init(void)
|
||||||
2546,
|
2546,
|
||||||
2547,
|
2547,
|
||||||
2548,
|
2548,
|
||||||
3452
|
2549,
|
||||||
|
3453
|
||||||
};
|
};
|
||||||
#if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID)
|
#if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID)
|
||||||
zend_opcode_handler_funcs = labels;
|
zend_opcode_handler_funcs = labels;
|
||||||
|
@ -62870,7 +62895,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2551 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 2552 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
if (op->op1_type < op->op2_type) {
|
if (op->op1_type < op->op2_type) {
|
||||||
zend_swap_operands(op);
|
zend_swap_operands(op);
|
||||||
}
|
}
|
||||||
|
@ -62878,7 +62903,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2576 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 2577 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
if (op->op1_type < op->op2_type) {
|
if (op->op1_type < op->op2_type) {
|
||||||
zend_swap_operands(op);
|
zend_swap_operands(op);
|
||||||
}
|
}
|
||||||
|
@ -62886,7 +62911,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2601 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 2602 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
if (op->op1_type < op->op2_type) {
|
if (op->op1_type < op->op2_type) {
|
||||||
zend_swap_operands(op);
|
zend_swap_operands(op);
|
||||||
}
|
}
|
||||||
|
@ -62897,17 +62922,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2626 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
spec = 2627 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||||
} else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) {
|
} else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2651 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
spec = 2652 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2676 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
spec = 2677 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_MUL:
|
case ZEND_MUL:
|
||||||
|
@ -62918,17 +62943,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2701 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 2702 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
} else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) {
|
} else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2726 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 2727 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2751 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 2752 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_IS_IDENTICAL:
|
case ZEND_IS_IDENTICAL:
|
||||||
|
@ -62939,14 +62964,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2776 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 2777 | 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) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2851 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 2852 | 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))) {
|
} 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 = 3076 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 3077 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_IS_NOT_IDENTICAL:
|
case ZEND_IS_NOT_IDENTICAL:
|
||||||
|
@ -62957,14 +62982,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2926 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 2927 | 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) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3001 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 3002 | 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))) {
|
} 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 = 3081 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
spec = 3082 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_IS_EQUAL:
|
case ZEND_IS_EQUAL:
|
||||||
|
@ -62975,12 +63000,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2776 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 2777 | 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) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2851 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 2852 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_IS_NOT_EQUAL:
|
case ZEND_IS_NOT_EQUAL:
|
||||||
|
@ -62991,12 +63016,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 2926 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 2927 | 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) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3001 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
spec = 3002 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_IS_SMALLER:
|
case ZEND_IS_SMALLER:
|
||||||
|
@ -63004,12 +63029,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3086 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
spec = 3087 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3161 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
spec = 3162 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_IS_SMALLER_OR_EQUAL:
|
case ZEND_IS_SMALLER_OR_EQUAL:
|
||||||
|
@ -63017,74 +63042,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3236 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
spec = 3237 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||||
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
} else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) {
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3311 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
spec = 3312 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_QM_ASSIGN:
|
case ZEND_QM_ASSIGN:
|
||||||
if (op1_info == MAY_BE_LONG) {
|
if (op1_info == MAY_BE_LONG) {
|
||||||
spec = 3398 | SPEC_RULE_OP1;
|
spec = 3399 | SPEC_RULE_OP1;
|
||||||
} else if (op1_info == MAY_BE_DOUBLE) {
|
} else if (op1_info == MAY_BE_DOUBLE) {
|
||||||
spec = 3403 | SPEC_RULE_OP1;
|
spec = 3404 | 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))))) {
|
} 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 = 3408 | SPEC_RULE_OP1;
|
spec = 3409 | SPEC_RULE_OP1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_PRE_INC:
|
case ZEND_PRE_INC:
|
||||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||||
spec = 3386 | SPEC_RULE_RETVAL;
|
spec = 3387 | SPEC_RULE_RETVAL;
|
||||||
} else if (op1_info == MAY_BE_LONG) {
|
} else if (op1_info == MAY_BE_LONG) {
|
||||||
spec = 3388 | SPEC_RULE_RETVAL;
|
spec = 3389 | SPEC_RULE_RETVAL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_PRE_DEC:
|
case ZEND_PRE_DEC:
|
||||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||||
spec = 3390 | SPEC_RULE_RETVAL;
|
spec = 3391 | SPEC_RULE_RETVAL;
|
||||||
} else if (op1_info == MAY_BE_LONG) {
|
} else if (op1_info == MAY_BE_LONG) {
|
||||||
spec = 3392 | SPEC_RULE_RETVAL;
|
spec = 3393 | SPEC_RULE_RETVAL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_POST_INC:
|
case ZEND_POST_INC:
|
||||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||||
spec = 3394;
|
|
||||||
} else if (op1_info == MAY_BE_LONG) {
|
|
||||||
spec = 3395;
|
spec = 3395;
|
||||||
|
} else if (op1_info == MAY_BE_LONG) {
|
||||||
|
spec = 3396;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_POST_DEC:
|
case ZEND_POST_DEC:
|
||||||
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
|
||||||
spec = 3396;
|
|
||||||
} else if (op1_info == MAY_BE_LONG) {
|
|
||||||
spec = 3397;
|
spec = 3397;
|
||||||
|
} else if (op1_info == MAY_BE_LONG) {
|
||||||
|
spec = 3398;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_JMP:
|
case ZEND_JMP:
|
||||||
if (OP_JMP_ADDR(op, op->op1) > op) {
|
if (OP_JMP_ADDR(op, op->op1) > op) {
|
||||||
spec = 2550;
|
spec = 2551;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_RECV:
|
case ZEND_RECV:
|
||||||
if (op->op2.num == MAY_BE_ANY) {
|
if (op->op2.num == MAY_BE_ANY) {
|
||||||
spec = 2549;
|
spec = 2550;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_SEND_VAL:
|
case ZEND_SEND_VAL:
|
||||||
if (op->op1_type == IS_CONST && op->op2_type == IS_UNUSED && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_UNUSED && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) {
|
||||||
spec = 3448;
|
spec = 3449;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_SEND_VAR_EX:
|
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) {
|
if (op->op2_type == IS_UNUSED && op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
|
||||||
spec = 3443 | SPEC_RULE_OP1;
|
spec = 3444 | SPEC_RULE_OP1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_FE_FETCH_R:
|
case ZEND_FE_FETCH_R:
|
||||||
if (op->op2_type == IS_CV && (op1_info & (MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) {
|
if (op->op2_type == IS_CV && (op1_info & (MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) {
|
||||||
spec = 3450 | SPEC_RULE_RETVAL;
|
spec = 3451 | SPEC_RULE_RETVAL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_FETCH_DIM_R:
|
case ZEND_FETCH_DIM_R:
|
||||||
|
@ -63092,17 +63117,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) {
|
if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
spec = 3413 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
spec = 3414 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_SEND_VAL_EX:
|
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))) {
|
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 = 3449;
|
spec = 3450;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_SEND_VAR:
|
case ZEND_SEND_VAR:
|
||||||
if (op->op2_type == IS_UNUSED && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
|
if (op->op2_type == IS_UNUSED && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
|
||||||
spec = 3438 | SPEC_RULE_OP1;
|
spec = 3439 | SPEC_RULE_OP1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ZEND_BW_OR:
|
case ZEND_BW_OR:
|
||||||
|
|
|
@ -1354,498 +1354,499 @@
|
||||||
_(2546, ZEND_CHECK_UNDEF_ARGS_SPEC_UNUSED_UNUSED) \
|
_(2546, ZEND_CHECK_UNDEF_ARGS_SPEC_UNUSED_UNUSED) \
|
||||||
_(2547, ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED) \
|
_(2547, ZEND_FETCH_GLOBALS_SPEC_UNUSED_UNUSED) \
|
||||||
_(2548, ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED) \
|
_(2548, ZEND_VERIFY_NEVER_TYPE_SPEC_UNUSED_UNUSED) \
|
||||||
_(2549, ZEND_RECV_NOTYPE_SPEC) \
|
_(2549, ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED) \
|
||||||
_(2550, ZEND_JMP_FORWARD_SPEC) \
|
_(2550, ZEND_RECV_NOTYPE_SPEC) \
|
||||||
_(2556, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2551, ZEND_JMP_FORWARD_SPEC) \
|
||||||
_(2557, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2557, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2558, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2558, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2560, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2559, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2561, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2561, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2562, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2562, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2563, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2563, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2565, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2564, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2571, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2566, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2572, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2572, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2573, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2573, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2575, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2574, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2581, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
_(2576, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2582, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2582, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2583, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2583, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2585, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2584, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2586, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
_(2586, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2587, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2587, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2588, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2588, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2590, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2589, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2596, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
_(2591, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2597, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2597, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2598, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2598, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2600, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2599, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2606, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2601, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2607, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2607, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2608, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2608, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2610, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2609, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2611, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2611, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2612, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2612, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2613, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2613, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2615, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2614, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2621, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2616, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2622, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2622, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2623, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2623, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2625, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2624, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2627, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
_(2626, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2628, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
_(2628, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||||
_(2630, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
_(2629, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||||
_(2631, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2631, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \
|
||||||
_(2632, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2632, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2633, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2633, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2635, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2634, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2636, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2636, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2637, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2637, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2638, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2638, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2640, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2639, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2646, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2641, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2647, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2647, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2648, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2648, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2650, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2649, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2652, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
_(2651, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2653, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
_(2653, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(2655, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
_(2654, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(2656, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
_(2656, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(2657, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2657, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2658, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2658, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2660, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2659, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2661, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
_(2661, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2662, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2662, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2663, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2663, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2665, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2664, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2671, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
_(2666, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2672, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2672, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2673, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2673, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2675, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2674, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2677, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(2676, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2678, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(2678, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(2680, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(2679, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(2681, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2681, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(2682, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2682, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2683, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2683, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2685, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2684, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2686, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2686, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2687, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2687, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2688, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2688, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2690, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2689, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2696, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2691, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2697, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2697, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2698, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2698, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2700, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2699, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2706, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2701, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2707, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2707, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2708, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2708, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2710, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2709, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2711, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2711, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2712, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2712, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2713, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2713, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2715, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2714, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2721, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
_(2716, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2722, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2722, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \
|
||||||
_(2723, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2723, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2725, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
_(2724, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2731, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2726, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2732, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2732, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2733, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2733, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2735, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2734, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2736, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2736, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2737, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2737, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2738, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2738, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2740, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2739, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2746, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2741, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2747, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2747, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2748, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2748, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2750, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2749, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2756, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2751, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2757, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2757, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2758, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2758, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2760, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2759, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2761, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2761, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2762, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2762, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2763, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2763, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2765, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2764, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2771, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2766, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2772, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2772, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2773, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2773, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2775, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2774, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2791, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2776, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2792, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2792, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2793, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2793, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2794, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2794, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2795, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2795, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2796, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2796, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2797, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2797, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2798, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2798, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2799, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2799, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2803, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2800, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2804, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2804, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2805, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2805, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2806, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2806, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2807, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2807, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2808, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2808, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2809, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2809, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2810, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2810, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2811, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2811, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2812, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2812, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2813, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2813, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2814, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2814, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2818, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2815, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2819, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2819, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2820, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2820, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2836, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2821, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2837, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2837, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2838, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2838, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2839, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2839, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2840, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2840, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2841, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2841, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2842, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2842, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2843, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2843, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2844, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2844, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2848, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2845, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2849, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2849, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2850, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2850, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2866, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2851, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2867, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2867, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2868, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2868, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2869, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2869, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2870, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2870, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2871, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2871, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2872, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2872, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2873, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2873, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2874, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2874, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2878, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2875, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2879, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2879, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2880, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2880, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2881, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2881, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2882, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2882, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2883, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2883, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2884, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2884, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2885, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2885, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2886, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2886, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2887, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2887, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2888, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2888, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2889, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2889, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2893, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2890, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2894, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2894, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2895, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2895, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2911, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(2896, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2912, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2912, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(2913, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2913, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2914, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2914, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2915, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2915, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2916, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2916, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2917, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2917, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2918, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2918, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2919, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2919, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2923, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(2920, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2924, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2924, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2925, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2925, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2941, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2926, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2942, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2942, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2943, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2943, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2944, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2944, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2945, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2945, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2946, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2946, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2947, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2947, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2948, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2948, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2949, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2949, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2953, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2950, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2954, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2954, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2955, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2955, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2956, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2956, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2957, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2957, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2958, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2958, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2959, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2959, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2960, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2960, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2961, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2961, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2962, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2962, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2963, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2963, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2964, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2964, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2968, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2965, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2969, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2969, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2970, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2970, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2986, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(2971, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2987, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(2987, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(2988, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(2988, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(2989, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2989, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(2990, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2990, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2991, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2991, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2992, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2992, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2993, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2993, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(2994, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(2994, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(2998, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(2995, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(2999, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(2999, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3000, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3000, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3016, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3001, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3017, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3017, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3018, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3018, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3019, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3019, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3020, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3020, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3021, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3021, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3022, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3022, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3023, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3023, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3024, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3024, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3028, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3025, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3029, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3029, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3030, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3030, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3031, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3031, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3032, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3032, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3033, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3033, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3034, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3034, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3035, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3035, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3036, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3036, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3037, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3037, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3038, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3038, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3039, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3039, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3043, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3040, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3044, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3044, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3045, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3045, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3061, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3046, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3062, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3062, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3063, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3063, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3064, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3064, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3065, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3065, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3066, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3066, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3067, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3067, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3068, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3068, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3069, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3069, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3073, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3070, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3074, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3074, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3075, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3075, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3076, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
_(3076, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3080, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
_(3077, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
||||||
_(3081, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
_(3081, ZEND_IS_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
||||||
_(3085, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
_(3082, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CONST) \
|
||||||
_(3089, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
_(3086, ZEND_IS_NOT_IDENTICAL_NOTHROW_SPEC_CV_CV) \
|
||||||
_(3090, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3090, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(3091, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3091, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3092, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
_(3092, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3093, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3093, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(3094, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3094, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3098, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
_(3095, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3099, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3099, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(3100, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3100, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3101, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
_(3101, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3102, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3102, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(3103, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3103, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3104, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3104, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3105, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3105, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3106, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3106, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3107, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3107, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3108, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3108, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3109, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3109, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3113, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3110, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3114, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3114, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3115, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3115, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3116, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
_(3116, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3117, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3117, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(3118, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3118, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3119, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3119, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3120, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3120, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3121, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3121, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3122, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3122, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3123, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3123, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3124, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3124, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3128, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3125, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3129, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3129, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3130, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3130, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3146, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
_(3131, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3147, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3147, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(3148, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3148, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3149, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3149, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3150, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3150, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3151, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3151, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3152, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3152, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3153, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3153, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3154, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3154, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3158, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3155, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3159, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3159, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3160, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3160, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3164, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(3161, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3165, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3165, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(3166, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3166, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3167, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(3167, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3168, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3168, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(3169, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3169, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3173, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(3170, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3174, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3174, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(3175, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3175, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3176, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3176, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3177, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3177, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3178, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3178, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3179, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3179, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3180, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3180, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3181, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3181, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3182, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3182, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3183, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3183, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3184, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3184, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3188, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3185, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3189, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3189, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3190, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3190, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3191, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3191, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3192, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3192, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3193, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3193, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3194, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3194, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3195, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3195, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3196, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3196, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3197, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3197, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3198, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3198, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3199, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3199, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3203, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3200, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3204, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3204, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3205, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3205, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3221, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3206, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3222, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3222, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3223, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3223, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3224, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3224, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3225, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3225, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3226, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3226, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3227, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3227, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3228, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3228, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3229, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3229, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3233, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3230, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3234, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3234, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3235, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3235, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3239, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
_(3236, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3240, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3240, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(3241, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3241, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3242, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
_(3242, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3243, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3243, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(3244, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3244, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3248, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
_(3245, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3249, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3249, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \
|
||||||
_(3250, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3250, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3251, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(3251, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3252, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3252, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(3253, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3253, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3254, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3254, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3255, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3255, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3256, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3256, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3257, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3257, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3258, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3258, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3259, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3259, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3263, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3260, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3264, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3264, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3265, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3265, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3266, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(3266, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3267, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3267, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(3268, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3268, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3269, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3269, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3270, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3270, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3271, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3271, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3272, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3272, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3273, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3273, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3274, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3274, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3278, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3275, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3279, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3279, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3280, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3280, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3296, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
_(3281, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3297, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3297, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \
|
||||||
_(3298, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3298, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3299, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3299, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3300, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3300, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3301, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3301, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3302, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3302, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3303, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3303, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3304, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3304, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3308, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
_(3305, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3309, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3309, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3310, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3310, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3314, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(3311, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3315, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3315, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(3316, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3316, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3317, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(3317, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3318, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3318, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(3319, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3319, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3323, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
_(3320, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3324, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
_(3324, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \
|
||||||
_(3325, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
_(3325, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \
|
||||||
_(3326, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3326, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \
|
||||||
_(3327, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3327, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3328, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3328, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3329, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3329, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3330, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3330, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3331, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3331, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3332, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3332, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3333, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3333, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3334, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3334, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3338, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3335, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3339, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3339, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3340, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3340, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3341, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3341, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3342, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3342, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3343, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3343, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3344, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3344, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3345, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3345, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3346, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3346, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3347, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3347, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3348, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3348, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3349, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3349, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3353, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3350, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3354, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3354, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3355, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3355, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3371, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
_(3356, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3372, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
_(3372, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \
|
||||||
_(3373, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
_(3373, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \
|
||||||
_(3374, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3374, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \
|
||||||
_(3375, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3375, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3376, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3376, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3377, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3377, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3378, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3378, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3379, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3379, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3383, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
_(3380, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3384, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
_(3384, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \
|
||||||
_(3385, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
_(3385, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \
|
||||||
_(3386, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
_(3386, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \
|
||||||
_(3387, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
_(3387, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
||||||
_(3388, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
_(3388, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
||||||
_(3389, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_USED) \
|
_(3389, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
||||||
_(3390, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
_(3390, ZEND_PRE_INC_LONG_SPEC_CV_RETVAL_USED) \
|
||||||
_(3391, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
_(3391, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_UNUSED) \
|
||||||
_(3392, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
_(3392, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_CV_RETVAL_USED) \
|
||||||
_(3393, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_USED) \
|
_(3393, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_UNUSED) \
|
||||||
_(3394, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_CV) \
|
_(3394, ZEND_PRE_DEC_LONG_SPEC_CV_RETVAL_USED) \
|
||||||
_(3395, ZEND_POST_INC_LONG_SPEC_CV) \
|
_(3395, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_CV) \
|
||||||
_(3396, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_CV) \
|
_(3396, ZEND_POST_INC_LONG_SPEC_CV) \
|
||||||
_(3397, ZEND_POST_DEC_LONG_SPEC_CV) \
|
_(3397, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_CV) \
|
||||||
_(3398, ZEND_QM_ASSIGN_LONG_SPEC_CONST) \
|
_(3398, ZEND_POST_DEC_LONG_SPEC_CV) \
|
||||||
_(3399, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
_(3399, ZEND_QM_ASSIGN_LONG_SPEC_CONST) \
|
||||||
_(3400, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
_(3400, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||||
_(3402, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
_(3401, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||||
_(3403, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \
|
_(3403, ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV) \
|
||||||
_(3404, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
_(3404, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \
|
||||||
_(3405, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
_(3405, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||||
_(3407, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
_(3406, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||||
_(3408, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \
|
_(3408, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \
|
||||||
_(3409, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
_(3409, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \
|
||||||
_(3410, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
_(3410, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||||
_(3412, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
_(3411, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||||
_(3414, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
_(3413, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
|
||||||
_(3415, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
_(3415, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||||
_(3417, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
_(3416, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||||
_(3418, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
_(3418, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
|
||||||
_(3419, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
_(3419, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
||||||
_(3420, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
_(3420, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||||
_(3422, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
_(3421, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||||
_(3423, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
_(3423, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||||
_(3424, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
_(3424, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
|
||||||
_(3425, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
_(3425, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||||
_(3427, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
_(3426, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||||
_(3433, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \
|
_(3428, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
|
||||||
_(3434, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
_(3434, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \
|
||||||
_(3435, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
_(3435, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||||
_(3437, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
_(3436, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||||
_(3440, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \
|
_(3438, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
|
||||||
_(3442, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \
|
_(3441, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \
|
||||||
_(3445, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR_UNUSED) \
|
_(3443, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \
|
||||||
_(3447, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV_UNUSED) \
|
_(3446, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR_UNUSED) \
|
||||||
_(3448, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \
|
_(3448, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV_UNUSED) \
|
||||||
_(3449, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \
|
_(3449, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \
|
||||||
_(3450, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \
|
_(3450, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \
|
||||||
_(3451, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \
|
_(3451, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \
|
||||||
_(3451+1, ZEND_NULL)
|
_(3452, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \
|
||||||
|
_(3452+1, ZEND_NULL)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <zend.h>
|
#include <zend.h>
|
||||||
#include <zend_vm_opcodes.h>
|
#include <zend_vm_opcodes.h>
|
||||||
|
|
||||||
static const char *zend_vm_opcodes_names[202] = {
|
static const char *zend_vm_opcodes_names[203] = {
|
||||||
"ZEND_NOP",
|
"ZEND_NOP",
|
||||||
"ZEND_ADD",
|
"ZEND_ADD",
|
||||||
"ZEND_SUB",
|
"ZEND_SUB",
|
||||||
|
@ -225,9 +225,10 @@ static const char *zend_vm_opcodes_names[202] = {
|
||||||
"ZEND_CHECK_UNDEF_ARGS",
|
"ZEND_CHECK_UNDEF_ARGS",
|
||||||
"ZEND_FETCH_GLOBALS",
|
"ZEND_FETCH_GLOBALS",
|
||||||
"ZEND_VERIFY_NEVER_TYPE",
|
"ZEND_VERIFY_NEVER_TYPE",
|
||||||
|
"ZEND_CALLABLE_CONVERT",
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint32_t zend_vm_opcodes_flags[202] = {
|
static uint32_t zend_vm_opcodes_flags[203] = {
|
||||||
0x00000000,
|
0x00000000,
|
||||||
0x00000b0b,
|
0x00000b0b,
|
||||||
0x00000b0b,
|
0x00000b0b,
|
||||||
|
@ -430,6 +431,7 @@ static uint32_t zend_vm_opcodes_flags[202] = {
|
||||||
0x00000101,
|
0x00000101,
|
||||||
0x00000101,
|
0x00000101,
|
||||||
0x00000101,
|
0x00000101,
|
||||||
|
0x00000101,
|
||||||
};
|
};
|
||||||
|
|
||||||
ZEND_API const char* ZEND_FASTCALL zend_get_opcode_name(zend_uchar opcode) {
|
ZEND_API const char* ZEND_FASTCALL zend_get_opcode_name(zend_uchar opcode) {
|
||||||
|
|
|
@ -285,7 +285,8 @@ END_EXTERN_C()
|
||||||
#define ZEND_CHECK_UNDEF_ARGS 199
|
#define ZEND_CHECK_UNDEF_ARGS 199
|
||||||
#define ZEND_FETCH_GLOBALS 200
|
#define ZEND_FETCH_GLOBALS 200
|
||||||
#define ZEND_VERIFY_NEVER_TYPE 201
|
#define ZEND_VERIFY_NEVER_TYPE 201
|
||||||
|
#define ZEND_CALLABLE_CONVERT 202
|
||||||
|
|
||||||
#define ZEND_VM_LAST_OPCODE 201
|
#define ZEND_VM_LAST_OPCODE 202
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -335,6 +335,7 @@ static int zend_jit_needs_call_chain(zend_call_info *call_info, uint32_t b, cons
|
||||||
case ZEND_DO_UCALL:
|
case ZEND_DO_UCALL:
|
||||||
case ZEND_DO_FCALL_BY_NAME:
|
case ZEND_DO_FCALL_BY_NAME:
|
||||||
case ZEND_DO_FCALL:
|
case ZEND_DO_FCALL:
|
||||||
|
case ZEND_CALLABLE_CONVERT:
|
||||||
return 0;
|
return 0;
|
||||||
case ZEND_SEND_VAL:
|
case ZEND_SEND_VAL:
|
||||||
case ZEND_SEND_VAR:
|
case ZEND_SEND_VAR:
|
||||||
|
@ -417,6 +418,7 @@ static int zend_jit_needs_call_chain(zend_call_info *call_info, uint32_t b, cons
|
||||||
case ZEND_DO_UCALL:
|
case ZEND_DO_UCALL:
|
||||||
case ZEND_DO_FCALL_BY_NAME:
|
case ZEND_DO_FCALL_BY_NAME:
|
||||||
case ZEND_DO_FCALL:
|
case ZEND_DO_FCALL:
|
||||||
|
case ZEND_CALLABLE_CONVERT:
|
||||||
end = opline;
|
end = opline;
|
||||||
if (end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) {
|
if (end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) {
|
||||||
/* INIT_FCALL and DO_FCALL in different BasicBlocks */
|
/* INIT_FCALL and DO_FCALL in different BasicBlocks */
|
||||||
|
@ -4062,6 +4064,7 @@ done:
|
||||||
case ZEND_DO_ICALL:
|
case ZEND_DO_ICALL:
|
||||||
case ZEND_DO_UCALL:
|
case ZEND_DO_UCALL:
|
||||||
case ZEND_DO_FCALL_BY_NAME:
|
case ZEND_DO_FCALL_BY_NAME:
|
||||||
|
case ZEND_CALLABLE_CONVERT:
|
||||||
call_level--;
|
call_level--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -740,7 +740,9 @@ zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute(zend_execute_data *ex,
|
||||||
}
|
}
|
||||||
TRACE_RECORD(ZEND_JIT_TRACE_DO_ICALL, 0, EX(call)->func);
|
TRACE_RECORD(ZEND_JIT_TRACE_DO_ICALL, 0, EX(call)->func);
|
||||||
}
|
}
|
||||||
} else if (opline->opcode == ZEND_INCLUDE_OR_EVAL) {
|
} else if (opline->opcode == ZEND_INCLUDE_OR_EVAL
|
||||||
|
|| opline->opcode == ZEND_CALLABLE_CONVERT) {
|
||||||
|
/* TODO: Support tracing JIT for ZEND_CALLABLE_CONVERT. */
|
||||||
stop = ZEND_JIT_TRACE_STOP_INTERPRETER;
|
stop = ZEND_JIT_TRACE_STOP_INTERPRETER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue