- Fixed memory leak in extension loading when an error occurs on Windows.
(Pierre)
+- Fixed bug #50351 (performance regression handling objects, ten times slower
+ in 5.3 than in 5.2). (Dmitry)
- Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
(Jani)
- Fixed bug #50340 (php.ini parser does not allow spaces in ini keys). (Jani)
{
zend_op *opline = EX(opline);
zend_free_op free_op1;
- zval *array = GET_OP1_ZVAL_PTR(BP_VAR_R);
+ zval *array = EX_T(opline->op1.u.var).var.ptr;
zval **value;
char *str_key;
uint str_key_len;
int key_type = 0;
zend_bool use_key = (zend_bool)(opline->extended_value & ZEND_FE_FETCH_WITH_KEY);
- PZVAL_LOCK(array);
-
switch (zend_iterator_unwrap(array, &iter TSRMLS_CC)) {
default:
case ZEND_ITER_INVALID:
static int ZEND_FASTCALL ZEND_FE_FETCH_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op1;
- zval *array = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
+
+ zval *array = EX_T(opline->op1.u.var).var.ptr;
zval **value;
char *str_key;
uint str_key_len;
int key_type = 0;
zend_bool use_key = (zend_bool)(opline->extended_value & ZEND_FE_FETCH_WITH_KEY);
- PZVAL_LOCK(array);
-
switch (zend_iterator_unwrap(array, &iter TSRMLS_CC)) {
default:
case ZEND_ITER_INVALID: