mirror of
https://github.com/php/php-src.git
synced 2026-04-28 18:53:33 +02:00
A better fix(do the convertion in compile time)
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
--TEST--
|
||||
Const class properties(runtime cache)
|
||||
--FILE--
|
||||
<?php
|
||||
class A {
|
||||
}
|
||||
|
||||
$a = new A;
|
||||
|
||||
echo "runtime\n";
|
||||
var_dump($a->{array()});
|
||||
var_dump($a->{1});
|
||||
var_dump($a->{function(){}});
|
||||
?>
|
||||
--EXPECTF--
|
||||
Notice: Array to string conversion in %sclass_properties_const.php on line %d
|
||||
runtime
|
||||
|
||||
Notice: Undefined property: A::$Array in %sclass_properties_const.php on line %d
|
||||
NULL
|
||||
|
||||
Notice: Undefined property: A::$1 in %sclass_properties_const.php on line %d
|
||||
NULL
|
||||
|
||||
Catchable fatal error: Object of class Closure could not be converted to string in %sclass_properties_const.php on line %d
|
||||
+2
-1
@@ -2109,7 +2109,8 @@ static zend_op *zend_delayed_compile_prop(znode *result, zend_ast *ast, uint32_t
|
||||
zend_compile_expr(&prop_node, prop_ast TSRMLS_CC);
|
||||
|
||||
opline = zend_delayed_emit_op(result, ZEND_FETCH_OBJ_R, &obj_node, &prop_node TSRMLS_CC);
|
||||
if (opline->op2_type == IS_CONST && Z_TYPE(CONSTANT(opline->op2.constant)) == IS_STRING) {
|
||||
if (opline->op2_type == IS_CONST) {
|
||||
convert_to_string(&CONSTANT(opline->op2.constant));
|
||||
zend_alloc_polymorphic_cache_slot(opline->op2.constant TSRMLS_CC);
|
||||
}
|
||||
|
||||
|
||||
@@ -1326,7 +1326,6 @@ ZEND_VM_HANDLER(82, ZEND_FETCH_OBJ_R, CONST|TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV)
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (OP2_TYPE == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -1430,7 +1429,6 @@ ZEND_VM_HANDLER(91, ZEND_FETCH_OBJ_IS, CONST|TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (OP2_TYPE == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
|
||||
@@ -3986,7 +3986,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -4040,7 +4039,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -5380,7 +5378,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -5435,7 +5432,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -6619,7 +6615,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -6674,7 +6669,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -8583,7 +8577,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HAN
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -8637,7 +8630,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -10956,7 +10948,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -11010,7 +11001,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -12226,7 +12216,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -12281,7 +12270,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HAN
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -13438,7 +13426,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -13493,7 +13480,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HAN
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -15267,7 +15253,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDL
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -15321,7 +15306,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -18762,7 +18746,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -18865,7 +18848,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -21100,7 +21082,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -21204,7 +21185,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HAN
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -23276,7 +23256,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -23380,7 +23359,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HAN
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -26712,7 +26690,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDL
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -26815,7 +26792,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -28462,7 +28438,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -28565,7 +28540,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCOD
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -29870,7 +29844,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -29974,7 +29947,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -31191,7 +31163,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -31295,7 +31266,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -32999,7 +32969,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -33102,7 +33071,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_H
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -36248,7 +36216,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HAN
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -36351,7 +36318,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HA
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -38416,7 +38382,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDL
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -38520,7 +38485,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_TMP_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -40464,7 +40428,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDL
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -40568,7 +40531,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HAND
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_VAR == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -43625,7 +43587,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLE
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
@@ -43728,7 +43689,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDL
|
||||
/* here we are sure we are dealing with an object */
|
||||
do {
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_TYPE_P(offset) == IS_STRING) &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) {
|
||||
zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
|
||||
Reference in New Issue
Block a user