{
USE_OPLINE
zend_free_op free_op1, free_op2;
- zval *varname;
+ zend_string *varname;
zval *value;
zval *variable_ptr;
uintptr_t idx;
ZEND_VM_REPEATABLE_OPCODE
- varname = GET_OP2_ZVAL_PTR(BP_VAR_R);
+ varname = Z_STR_P(GET_OP2_ZVAL_PTR(BP_VAR_R));
/* We store "hash slot index" + 1 (NULL is a mark of uninitialized cache slot) */
idx = (uintptr_t)CACHED_PTR(opline->extended_value) - 1;
Bucket *p = (Bucket*)((char*)EG(symbol_table).arData + idx);
if (EXPECTED(Z_TYPE(p->val) != IS_UNDEF) &&
- (EXPECTED(p->key == Z_STR_P(varname)) ||
- (EXPECTED(p->h == ZSTR_H(Z_STR_P(varname))) &&
+ (EXPECTED(p->key == varname) ||
+ (EXPECTED(p->h == ZSTR_H(varname)) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(zend_string_equal_content(p->key, Z_STR_P(varname)))))) {
+ EXPECTED(zend_string_equal_content(p->key, varname))))) {
value = (zval*)p; /* value = &p->val; */
ZEND_VM_C_GOTO(check_indirect);
}
}
- value = zend_hash_find_ex(&EG(symbol_table), Z_STR_P(varname), 1);
+ value = zend_hash_find_ex(&EG(symbol_table), varname, 1);
if (UNEXPECTED(value == NULL)) {
- value = zend_hash_add_new(&EG(symbol_table), Z_STR_P(varname), &EG(uninitialized_zval));
+ value = zend_hash_add_new(&EG(symbol_table), varname, &EG(uninitialized_zval));
idx = (char*)value - (char*)EG(symbol_table).arData;
/* Store "hash slot index" + 1 (NULL is a mark of uninitialized cache slot) */
CACHE_PTR(opline->extended_value, (void*)(idx + 1));
{
USE_OPLINE
- zval *varname;
+ zend_string *varname;
zval *value;
zval *variable_ptr;
uintptr_t idx;
ZEND_VM_REPEATABLE_OPCODE
- varname = RT_CONSTANT(opline, opline->op2);
+ varname = Z_STR_P(RT_CONSTANT(opline, opline->op2));
/* We store "hash slot index" + 1 (NULL is a mark of uninitialized cache slot) */
idx = (uintptr_t)CACHED_PTR(opline->extended_value) - 1;
Bucket *p = (Bucket*)((char*)EG(symbol_table).arData + idx);
if (EXPECTED(Z_TYPE(p->val) != IS_UNDEF) &&
- (EXPECTED(p->key == Z_STR_P(varname)) ||
- (EXPECTED(p->h == ZSTR_H(Z_STR_P(varname))) &&
+ (EXPECTED(p->key == varname) ||
+ (EXPECTED(p->h == ZSTR_H(varname)) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(zend_string_equal_content(p->key, Z_STR_P(varname)))))) {
+ EXPECTED(zend_string_equal_content(p->key, varname))))) {
value = (zval*)p; /* value = &p->val; */
goto check_indirect;
}
}
- value = zend_hash_find_ex(&EG(symbol_table), Z_STR_P(varname), 1);
+ value = zend_hash_find_ex(&EG(symbol_table), varname, 1);
if (UNEXPECTED(value == NULL)) {
- value = zend_hash_add_new(&EG(symbol_table), Z_STR_P(varname), &EG(uninitialized_zval));
+ value = zend_hash_add_new(&EG(symbol_table), varname, &EG(uninitialized_zval));
idx = (char*)value - (char*)EG(symbol_table).arData;
/* Store "hash slot index" + 1 (NULL is a mark of uninitialized cache slot) */
CACHE_PTR(opline->extended_value, (void*)(idx + 1));