reduced size of temp_variariable

This commit is contained in:
Dmitry Stogov 2010-10-22 14:51:07 +00:00
parent a25ce8c606
commit 68e154b1bf
5 changed files with 12 additions and 15 deletions

1
NEWS
View File

@ -91,6 +91,7 @@
. the size of zend_class_entry is reduced by sharing the same memory space
by different information for internal and user classes.
See zend_class_inttry.info union.
. reduced size of temp_variariable
- Improved CLI Interactive readline shell (Johannes)
. Added cli.pager ini setting to set a pager for output.
. Added cli.prompt ini settingto configure the shell prompt.

View File

@ -1144,8 +1144,7 @@ convert_to_array:
result->str_offset.str = container;
PZVAL_LOCK(container);
result->str_offset.offset = Z_LVAL_P(dim);
result->var.ptr_ptr = NULL;
result->var.ptr = NULL;
result->str_offset.ptr_ptr = NULL;
return;
}
break;

View File

@ -35,16 +35,13 @@ typedef union _temp_variable {
zend_bool fcall_returned_reference;
} var;
struct {
zval **ptr_ptr;
zval *ptr;
zend_bool fcall_returned_reference;
zval **ptr_ptr; /* shared with var.ptr_ptr */
zval *str;
zend_uint offset;
} str_offset;
struct {
zval **ptr_ptr;
zval *ptr;
zend_bool fcall_returned_reference;
zval **ptr_ptr; /* shared with var.ptr_ptr */
zval *ptr; /* shared with var.ptr */
HashPointer fe_pos;
} fe;
zend_class_entry *class_entry;

View File

@ -4039,7 +4039,7 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
}
}
AI_SET_PTR(&EX_T(opline->result.var), array_ptr);
EX_T(opline->result.var).fe.ptr = array_ptr;
if (iter) {
iter->index = 0;
@ -4097,7 +4097,7 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH, VAR, ANY)
{
USE_OPLINE
zend_free_op free_op1;
zval *array = EX_T(opline->op1.var).var.ptr;
zval *array = EX_T(opline->op1.var).fe.ptr;
zval **value;
char *str_key;
uint str_key_len;

View File

@ -2542,7 +2542,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
}
}
AI_SET_PTR(&EX_T(opline->result.var), array_ptr);
EX_T(opline->result.var).fe.ptr = array_ptr;
if (iter) {
iter->index = 0;
@ -6805,7 +6805,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
}
}
AI_SET_PTR(&EX_T(opline->result.var), array_ptr);
EX_T(opline->result.var).fe.ptr = array_ptr;
if (iter) {
iter->index = 0;
@ -11094,7 +11094,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
}
}
AI_SET_PTR(&EX_T(opline->result.var), array_ptr);
EX_T(opline->result.var).fe.ptr = array_ptr;
if (iter) {
iter->index = 0;
@ -11152,7 +11152,7 @@ static int ZEND_FASTCALL ZEND_FE_FETCH_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
{
USE_OPLINE
zval *array = EX_T(opline->op1.var).var.ptr;
zval *array = EX_T(opline->op1.var).fe.ptr;
zval **value;
char *str_key;
uint str_key_len;
@ -26765,7 +26765,7 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
}
}
AI_SET_PTR(&EX_T(opline->result.var), array_ptr);
EX_T(opline->result.var).fe.ptr = array_ptr;
if (iter) {
iter->index = 0;