Nothign to worry, you triggered a race condition of the
script which generates this messages. We've seen this not the
first time.
Actually, someone else commited something the very same
moment it seems:
2002-10-23 22:26 tom
* revcheck.php:
added file-sizes to files without rev-tag, changed
size-limit for critical files from 10 to 3kB
and
2002-10-23 22:26 andi
* zend_execute.c:
- Make Ts access a macro. I need this for my next patch
which should
- improve performance but not sure yet if it will.
On Wed, Oct 23, 2002 at 10:33:00PM +0200, Andi Gutmans wrote :
> Any idea how that revcheck.php diff got into my Engine 2 patch? I commited
> from within the Zend/ directory.
> Should something be reverted there?
>
> Andi
>
> >Delivered-To: [EMAIL PROTECTED]
> >Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
> >list-help: <mailto:zend-engine-cvs-help@;lists.php.net>
> >list-unsubscribe: <mailto:zend-engine-cvs-unsubscribe@;lists.php.net>
> >list-post: <mailto:zend-engine-cvs@;lists.php.net>
> >Delivered-To: mailing list [EMAIL PROTECTED]
> >From: "Andi Gutmans" <[EMAIL PROTECTED]>
> >To: [EMAIL PROTECTED]
> >Date: Wed, 23 Oct 2002 20:26:27 -0000
> >X-Spam-Status: No, tests=bogofilter, spamicity=0.0% likelihood
> >Subject: [ZEND-ENGINE-CVS] cvs: ZendEngine2 /
> >zend_execute.c phpdoc/scripts revcheck.php
> >
> >andi Wed Oct 23 16:26:27 2002 EDT
> >
> > Modified files:
> > /phpdoc/scripts revcheck.php
> > /ZendEngine2 zend_execute.c
> > Log:
> > - Make Ts access a macro. I need this for my next patch which should
> > - improve performance but not sure yet if it will.
> >
> >
> >--
> >Zend Engine CVS Mailing List (http://cvs.php.net/)
> >To unsubscribe, visit: http://www.php.net/unsub.php
> Index: phpdoc/scripts/revcheck.php
> diff -u phpdoc/scripts/revcheck.php:1.30 phpdoc/scripts/revcheck.php:1.31
> --- phpdoc/scripts/revcheck.php:1.30 Mon Oct 7 16:40:28 2002
> +++ phpdoc/scripts/revcheck.php Wed Oct 23 16:26:27 2002
> @@ -50,7 +50,7 @@
>
> // A file is criticaly "outdated' if
> define("ALERT_REV", 10); // translation is 10 or more revisions behind the en one
> -define("ALERT_SIZE", 10); // translation is 10 or more kB smaller than the en one
> +define("ALERT_SIZE", 3); // translation is 3 or more kB smaller than the en one
> define("ALERT_DATE", -30); // translation is 30 or more days older than the en one
>
> // Revision marks used to flag files
> @@ -231,10 +231,10 @@
> }
>
> // Get the parameter if we have it
> - list($trans_file) = func_get_args();
> + list($trans_file, $en_size, $trans_size, $size_diff) = func_get_args();
>
> - // Push file name with missing tag on the list
> - $missing_tags[] = substr($trans_file, strlen($DOCDIR));
> + // Push data of file with missing tag onto the list
> + $missing_tags[] = array(substr($trans_file, strlen($DOCDIR)), $en_size,
>$trans_size, $size_diff);
> }
>
> // Collect files by status mark
> @@ -323,14 +323,6 @@
> $trans_tag = get_tag($trans_file, "\\S*");
> }
>
> - // If we found no revision tag, then collect this
> - // file in the missing tags list
> - if (count($trans_tag) == 0) {
> - files_by_mark(REV_NOTAG, 1);
> - missing_tag($trans_file, $DOCDIR);
> - return FALSE;
> - }
> -
> // Distribute values in separate vars for further processing
> list(, $this_rev, $this_maint, $this_status) = $trans_tag;
>
> @@ -361,6 +353,14 @@
> $trans_date = intval((time() - filemtime($trans_file)) / 86400);
> $date_diff = $en_date - $trans_date;
>
> + // If we found no revision tag, then collect this
> + // file in the missing tags list
> + if (count($trans_tag) == 0) {
> + files_by_mark(REV_NOTAG, 1);
> + missing_tag($trans_file, $en_size, $trans_size, $size_diff);
> + return FALSE;
> + }
> +
> // Make decision on file category by revision, date and size
> if ($rev_diff === 0) {
> $status_mark = REV_UPTODATE;
> @@ -375,9 +375,6 @@
> // Store files by status, and by maintainer too
> files_by_mark ($status_mark, 1);
> files_by_maint($status_mark, $this_maint);
> -
> -if ($rev_diff === 0 && $this_maint == "")
> -echo $file."<br>\n";
>
> return array(
> "full_name" => $file,
> @@ -999,24 +996,27 @@
> if ($count > 0) {
> print "<a name=\"misstags\"></a>" .
> "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\"
>align=\"center\">\n".
> - "<tr><th class=blue><b>Files without Revision-comment ($count
>files):</b></th></tr>\n";
> + "<tr class=blue><th rowspan=2><b>Files without Revision-comment ($count
>files):</b></th>".
> + "<th colspan=3>Sizes in kB</th></tr>\n".
> + "<tr class=blue><th>en</th><th>$LANG</th><th>diff</th></tr>\n";
> foreach($missing_tags as $val) {
> // Shorten the filename (we have directory headers)
> - $short_file = basename($val);
> + $short_file = basename($val[0]);
>
> // Guess the new directory from the full name of the file
> - $new_dir = substr($val, 0, strrpos($val, "/"));
> + $new_dir = substr($val[0], 0, strrpos($val[0], "/"));
>
> // If this is a new directory, put out dir headline
> if ($new_dir != $prev_dir) {
>
> // Print out directory header
> - print "<tr class=blue><th>".dirname($val)."</th></tr>\n";
> + print "<tr class=blue><th colspan=4>".dirname($val[0])."</th></tr>\n";
>
> // Store the new actual directory
> $prev_dir = $new_dir;
> }
> - print "<tr><td class=miss>$short_file</td></tr>\n";
> + print "<tr class=miss><td>$short_file</td><td class=r>$val[1]</td>".
> + "<td class=r>$val[2]</td><td class=r>$val[3]</td></tr>\n";
> }
> print "</table>\n<p> </p>\n$navbar<p> </p>\n";
>
> @@ -1060,7 +1060,7 @@
> }
>
> print "<tr class=miss><td>$short_file</td>" .
> - "<td align=right>$info[0]</td></tr>\n";
> + "<td class=r>$info[0]</td></tr>\n";
> }
> print "</table>\n<p> </p>\n$navbar<p> </p>\n";
>
> Index: ZendEngine2/zend_execute.c
> diff -u ZendEngine2/zend_execute.c:1.382 ZendEngine2/zend_execute.c:1.383
> --- ZendEngine2/zend_execute.c:1.382 Tue Oct 22 15:34:25 2002
> +++ ZendEngine2/zend_execute.c Wed Oct 23 16:26:27 2002
> @@ -46,6 +46,9 @@
>
> #define RETURN_VALUE_USED(opline) (!((opline)->result.u.EA.type & EXT_TYPE_UNUSED))
>
> +#define EX_T(offset) EX(Ts)[offset]
> +#define T(offset) Ts[offset]
> +
> static inline zval *_get_zval_ptr(znode *node, temp_variable *Ts, zval
>**should_free TSRMLS_DC)
> {
> switch(node->op_type) {
> @@ -54,19 +57,19 @@
> return &node->u.constant;
> break;
> case IS_TMP_VAR:
> - return *should_free = &Ts[node->u.var].tmp_var;
> + return *should_free = &T(node->u.var).tmp_var;
> break;
> case IS_VAR:
> - if (Ts[node->u.var].var.ptr) {
> - PZVAL_UNLOCK(Ts[node->u.var].var.ptr);
> + if (T(node->u.var).var.ptr) {
> + PZVAL_UNLOCK(T(node->u.var).var.ptr);
> *should_free = 0;
> - return Ts[node->u.var].var.ptr;
> + return T(node->u.var).var.ptr;
> } else {
> - *should_free = &Ts[node->u.var].tmp_var;
> + *should_free = &T(node->u.var).tmp_var;
>
> - switch (Ts[node->u.var].EA.type) {
> + switch (T(node->u.var).EA.type) {
> case IS_STRING_OFFSET: {
> - temp_variable *T =
>&Ts[node->u.var];
> + temp_variable *T =
>&T(node->u.var);
> zval *str =
>T->EA.data.str_offset.str;
>
> if
>(T->EA.data.str_offset.str->type != IS_STRING
> @@ -99,12 +102,12 @@
> static inline zval **_get_zval_ptr_ptr(znode *node, temp_variable *Ts TSRMLS_DC)
> {
> if (node->op_type==IS_VAR) {
> - if (Ts[node->u.var].var.ptr_ptr) {
> - PZVAL_UNLOCK(*Ts[node->u.var].var.ptr_ptr);
> - } else if (Ts[node->u.var].EA.type==IS_STRING_OFFSET) {
> - PZVAL_UNLOCK(Ts[node->u.var].EA.data.str_offset.str);
> + if (T(node->u.var).var.ptr_ptr) {
> + PZVAL_UNLOCK(*T(node->u.var).var.ptr_ptr);
> + } else if (T(node->u.var).EA.type==IS_STRING_OFFSET) {
> + PZVAL_UNLOCK(T(node->u.var).EA.data.str_offset.str);
> }
> - return Ts[node->u.var].var.ptr_ptr;
> + return T(node->u.var).var.ptr_ptr;
> } else {
> return NULL;
> }
> @@ -154,18 +157,18 @@
> {
> switch (opline->op1.op_type) {
> case IS_VAR:
> - if (!Ts[opline->op1.u.var].var.ptr_ptr) {
> + if (!T(opline->op1.u.var).var.ptr_ptr) {
> get_zval_ptr(&opline->op1, Ts, &EG(free_op1),
>BP_VAR_R);
> FREE_OP(Ts, &opline->op1, EG(free_op1));
> } else {
> - zval_ptr_dtor(&Ts[opline->op1.u.var].var.ptr);
> + zval_ptr_dtor(&T(opline->op1.u.var).var.ptr);
> if (opline->extended_value) { /* foreach() free */
> - zval_ptr_dtor(&Ts[opline->op1.u.var].var.ptr);
> + zval_ptr_dtor(&T(opline->op1.u.var).var.ptr);
> }
> }
> break;
> case IS_TMP_VAR:
> - zendi_zval_dtor(Ts[opline->op1.u.var].tmp_var);
> + zendi_zval_dtor(T(opline->op1.u.var).tmp_var);
> break;
> EMPTY_SWITCH_DEFAULT_CASE()
> }
> @@ -217,9 +220,9 @@
> }
>
> if (result && !(result->u.EA.type & EXT_TYPE_UNUSED)) {
> - Ts[result->u.var].var.ptr_ptr = variable_ptr_ptr;
> + T(result->u.var).var.ptr_ptr = variable_ptr_ptr;
> SELECTIVE_PZVAL_LOCK(*variable_ptr_ptr, result);
> - AI_USE_PTR(Ts[result->u.var].var);
> + AI_USE_PTR(T(result->u.var).var);
> }
> }
>
> @@ -269,7 +272,7 @@
> zval *object;
> zval *property = get_zval_ptr(op2, Ts, &EG(free_op2), BP_VAR_R);
> zval tmp;
> - zval **retval = &Ts[result->u.var].var.ptr;
> + zval **retval = &T(result->u.var).var.ptr;
>
> make_real_object(object_ptr TSRMLS_CC); /* this should modify object only if
>it's empty */
> object = *object_ptr;
> @@ -311,8 +314,8 @@
>
> FREE_OP(Ts, op2, EG(free_op2));
> if (result) {
> - Ts[result->u.var].var.ptr = value;
> - Ts[result->u.var].var.ptr_ptr = NULL; /* see if we can nuke this */
> + T(result->u.var).var.ptr = value;
> + T(result->u.var).var.ptr_ptr = NULL; /* see if we can nuke this */
> SELECTIVE_PZVAL_LOCK(value, result);
> }
> }
> @@ -323,10 +326,10 @@
> zval *object;
> zval *property = get_zval_ptr(op2, Ts, &EG(free_op2), BP_VAR_R);
> zval tmp;
> - zval **retval = &Ts[result->u.var].var.ptr;
> + zval **retval = &T(result->u.var).var.ptr;
> int have_get_ptr = 0;
>
> - Ts[result->u.var].var.ptr_ptr = NULL;
> + T(result->u.var).var.ptr_ptr = NULL;
> make_real_object(object_ptr TSRMLS_CC);
> object = *object_ptr;
>
> @@ -395,9 +398,9 @@
> zval *variable_ptr;
>
> if (!variable_ptr_ptr) {
> - switch (Ts[op1->u.var].EA.type) {
> + switch (T(op1->u.var).EA.type) {
> case IS_STRING_OFFSET: {
> - temp_variable *T = &Ts[op1->u.var];
> + temp_variable *T = &T(op1->u.var);
>
> if (T->EA.data.str_offset.str->type ==
>IS_STRING) do {
> zval tmp;
> @@ -435,7 +438,7 @@
>
>T->EA.data.str_offset.str->value.str.val[T->EA.data.str_offset.offset] =
>final_value->value.str.val[0];
> if (op2
> && op2->op_type == IS_VAR
> - &&
>value==&Ts[op2->u.var].tmp_var) {
> + &&
>value==&T(op2->u.var).tmp_var) {
> STR_FREE(value->value.str.val);
> }
> if (final_value == &tmp) {
> @@ -443,7 +446,7 @@
> }
> /*
> * the value of an assignment to a
>string offset is undefined
> - Ts[result->u.var].var =
>&T->EA.data.str_offset.str;
> + T(result->u.var).var =
>&T->EA.data.str_offset.str;
> */
> } while (0);
> /* zval_ptr_dtor(&T->EA.data.str_offset.str);
>Nuke this line if it doesn't cause a leak */
> @@ -452,9 +455,9 @@
> break;
> EMPTY_SWITCH_DEFAULT_CASE()
> }
> - Ts[result->u.var].var.ptr_ptr = &EG(uninitialized_zval_ptr);
> - SELECTIVE_PZVAL_LOCK(*Ts[result->u.var].var.ptr_ptr, result);
> - AI_USE_PTR(Ts[result->u.var].var);
> + T(result->u.var).var.ptr_ptr = &EG(uninitialized_zval_ptr);
> + SELECTIVE_PZVAL_LOCK(*T(result->u.var).var.ptr_ptr, result);
> + AI_USE_PTR(T(result->u.var).var);
> return;
> }
>
> @@ -462,9 +465,9 @@
>
> if (variable_ptr == EG(error_zval_ptr)) {
> if (result) {
> - Ts[result->u.var].var.ptr_ptr = &EG(uninitialized_zval_ptr);
> - SELECTIVE_PZVAL_LOCK(*Ts[result->u.var].var.ptr_ptr, result);
> - AI_USE_PTR(Ts[result->u.var].var);
> + T(result->u.var).var.ptr_ptr = &EG(uninitialized_zval_ptr);
> + SELECTIVE_PZVAL_LOCK(*T(result->u.var).var.ptr_ptr, result);
> + AI_USE_PTR(T(result->u.var).var);
> }
> if (type==IS_TMP_VAR) {
> zval_dtor(value);
> @@ -548,9 +551,9 @@
> (*variable_ptr_ptr)->is_ref=0;
> }
> if (result) {
> - Ts[result->u.var].var.ptr_ptr = variable_ptr_ptr;
> + T(result->u.var).var.ptr_ptr = variable_ptr_ptr;
> SELECTIVE_PZVAL_LOCK(*variable_ptr_ptr, result);
> - AI_USE_PTR(Ts[result->u.var].var);
> + AI_USE_PTR(T(result->u.var).var);
> }
> }
>
> @@ -620,12 +623,12 @@
> return EG(active_op_array)->static_variables;
> break;
> case ZEND_FETCH_STATIC_MEMBER:
> - if(Ts[opline->op2.u.var].EA.class_entry->parent) {
> + if(T(opline->op2.u.var).EA.class_entry->parent) {
> /* if inherited, try to look up */
> - return
>zend_find_inherited_static(Ts[opline->op2.u.var].EA.class_entry, variable);
> + return
>zend_find_inherited_static(T(opline->op2.u.var).EA.class_entry, variable);
> } else {
> /* if class is not inherited, no point in checking */
> - return
>Ts[opline->op2.u.var].EA.class_entry->static_members;
> + return
>T(opline->op2.u.var).EA.class_entry->static_members;
> }
> break;
> EMPTY_SWITCH_DEFAULT_CASE()
> @@ -684,7 +687,7 @@
> if (varname == &tmp_varname) {
> zval_dtor(varname);
> }
> - Ts[opline->result.u.var].var.ptr_ptr = retval;
> + T(opline->result.u.var).var.ptr_ptr = retval;
> SELECTIVE_PZVAL_LOCK(*retval, &opline->result);
> }
>
> @@ -777,7 +780,7 @@
> {
> zval **container_ptr = get_zval_ptr_ptr(op1, Ts, type);
> zval *container;
> - zval ***retval = &Ts[result->u.var].var.ptr_ptr;
> + zval ***retval = &T(result->u.var).var.ptr_ptr;
>
> container = *container_ptr;
>
> @@ -852,10 +855,10 @@
> SEPARATE_ZVAL_IF_NOT_REF(container_ptr);
> }
> container = *container_ptr;
> - Ts[result->u.var].EA.data.str_offset.str = container;
> + T(result->u.var).EA.data.str_offset.str = container;
> PZVAL_LOCK(container);
> - Ts[result->u.var].EA.data.str_offset.offset =
>offset->value.lval;
> - Ts[result->u.var].EA.type = IS_STRING_OFFSET;
> + T(result->u.var).EA.data.str_offset.offset =
>offset->value.lval;
> + T(result->u.var).EA.type = IS_STRING_OFFSET;
> FREE_OP(Ts, op2, EG(free_op2));
> *retval = NULL;
> return;
> @@ -887,20 +890,20 @@
> zval *container = get_zval_ptr(op1, Ts, &free_op1, BP_VAR_R);
>
> if (container->type != IS_ARRAY) {
> - Ts[result->u.var].var.ptr_ptr = &EG(uninitialized_zval_ptr);
> - SELECTIVE_PZVAL_LOCK(*Ts[result->u.var].var.ptr_ptr, result);
> + T(result->u.var).var.ptr_ptr = &EG(uninitialized_zval_ptr);
> + SELECTIVE_PZVAL_LOCK(*T(result->u.var).var.ptr_ptr, result);
> return;
> }
>
> - Ts[result->u.var].var.ptr_ptr =
>zend_fetch_dimension_address_inner(container->value.ht, op2, Ts, BP_VAR_R TSRMLS_CC);
> - SELECTIVE_PZVAL_LOCK(*Ts[result->u.var].var.ptr_ptr, result);
> + T(result->u.var).var.ptr_ptr =
>zend_fetch_dimension_address_inner(container->value.ht, op2, Ts, BP_VAR_R TSRMLS_CC);
> + SELECTIVE_PZVAL_LOCK(*T(result->u.var).var.ptr_ptr, result);
> }
>
> static void zend_fetch_property_address(znode *result, znode *op1, znode *op2,
>temp_variable *Ts, int type TSRMLS_DC)
> {
> zval **container_ptr = get_obj_zval_ptr_ptr(op1, Ts, type TSRMLS_CC);
> zval *container;
> - zval ***retval = &Ts[result->u.var].var.ptr_ptr;
> + zval ***retval = &T(result->u.var).var.ptr_ptr;
>
> container = *container_ptr;
> if (container == EG(error_zval_ptr)) {
> @@ -952,8 +955,8 @@
> zval *container;
> zval **retval;
>
> - retval = &Ts[result->u.var].var.ptr;
> - Ts[result->u.var].var.ptr_ptr = retval;
> + retval = &T(result->u.var).var.ptr;
> + T(result->u.var).var.ptr_ptr = retval;
>
> container = get_obj_zval_ptr(op1, Ts, &EG(free_op1), type TSRMLS_CC);
>
> @@ -1009,7 +1012,7 @@
> zval **object_ptr = get_obj_zval_ptr_ptr(op1, Ts, BP_VAR_W TSRMLS_CC);
> zval *object;
> zval *property = get_zval_ptr(op2, Ts, &EG(free_op2), BP_VAR_R);
> - zval **retval = &Ts[result->u.var].var.ptr;
> + zval **retval = &T(result->u.var).var.ptr;
> int have_get_ptr = 0;
>
> make_real_object(object_ptr TSRMLS_CC); /* this should modify object only if
>it's empty */
> @@ -1056,7 +1059,7 @@
> zval **object_ptr = get_obj_zval_ptr_ptr(op1, Ts, BP_VAR_W TSRMLS_CC);
> zval *object;
> zval *property = get_zval_ptr(op2, Ts, &EG(free_op2), BP_VAR_R);
> - zval *retval = &Ts[result->u.var].tmp_var;
> + zval *retval = &T(result->u.var).tmp_var;
> int have_get_ptr = 0;
>
> make_real_object(object_ptr TSRMLS_CC); /* this should modify object only if
>it's empty */
> @@ -1201,7 +1204,7 @@
>
> int zend_add_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - add_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + add_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1211,7 +1214,7 @@
>
> int zend_sub_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - sub_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + sub_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1221,7 +1224,7 @@
>
> int zend_mul_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - mul_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + mul_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1231,7 +1234,7 @@
>
> int zend_div_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - div_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + div_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1241,7 +1244,7 @@
>
> int zend_mod_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - mod_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + mod_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1251,7 +1254,7 @@
>
> int zend_sl_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - shift_left_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + shift_left_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1261,7 +1264,7 @@
>
> int zend_sr_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - shift_right_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + shift_right_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1271,7 +1274,7 @@
>
> int zend_concat_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - concat_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + concat_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1281,7 +1284,7 @@
>
> int zend_is_identical_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - is_identical_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_identical_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1291,7 +1294,7 @@
>
> int zend_is_not_identical_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - is_not_identical_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_not_identical_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1301,7 +1304,7 @@
>
> int zend_is_equal_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - is_equal_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_equal_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1311,7 +1314,7 @@
>
> int zend_is_not_equal_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - is_not_equal_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_not_equal_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1321,7 +1324,7 @@
>
> int zend_is_smaller_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - is_smaller_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_smaller_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1331,7 +1334,7 @@
>
> int zend_is_smaller_or_equal_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - is_smaller_or_equal_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_smaller_or_equal_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1341,7 +1344,7 @@
>
> int zend_bw_or_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - bitwise_or_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + bitwise_or_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1351,7 +1354,7 @@
>
> int zend_bw_and_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - bitwise_and_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + bitwise_and_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1361,7 +1364,7 @@
>
> int zend_bw_xor_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - bitwise_xor_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + bitwise_xor_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1371,7 +1374,7 @@
>
> int zend_bool_xor_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - boolean_xor_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + boolean_xor_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> @@ -1381,7 +1384,7 @@
>
> int zend_bw_not_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - bitwise_not_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + bitwise_not_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> NEXT_OPCODE();
> @@ -1389,7 +1392,7 @@
>
> int zend_bool_not_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - boolean_not_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + boolean_not_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R)
>TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> NEXT_OPCODE();
> @@ -1405,19 +1408,19 @@
> }
>
> if (*var_ptr == EG(error_zval_ptr)) {
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EG(uninitialized_zval_ptr);
> - SELECTIVE_PZVAL_LOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr,
>&EX(opline)->result);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EG(uninitialized_zval_ptr);
> + SELECTIVE_PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr,
>&EX(opline)->result);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
>
> binary_op(*var_ptr, *var_ptr, get_zval_ptr(&EX(opline)->op2, EX(Ts),
>&EG(free_op2), BP_VAR_R) TSRMLS_CC);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr = var_ptr;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr = var_ptr;
> SELECTIVE_PZVAL_LOCK(*var_ptr, &EX(opline)->result);
> FREE_OP(EX(Ts), &EX(opline)->op2, EG(free_op2));
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
>
> NEXT_OPCODE();
> }
> @@ -1479,67 +1482,67 @@
>
> int zend_assign_add_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts), add_function
>TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts), add_function
>TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_sub_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts), sub_function
>TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts), sub_function
>TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_mul_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts), mul_function
>TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts), mul_function
>TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_div_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts), div_function
>TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts), div_function
>TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_mod_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts), mod_function
>TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts), mod_function
>TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_sl_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts),
>shift_left_function TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts),
>shift_left_function TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_sr_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts),
>shift_right_function TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts),
>shift_right_function TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_concat_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts), concat_function
>TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts), concat_function
>TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_bw_or_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts),
>bitwise_or_function TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts),
>bitwise_or_function TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_bw_and_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts),
>bitwise_and_function TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts),
>bitwise_and_function TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> int zend_assign_bw_xor_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts),
>bitwise_xor_function TSRMLS_CC);
> + zend_assign_to_object_op(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX_T(EX(opline)->extended_value).var.ptr, EX(Ts),
>bitwise_xor_function TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> @@ -1576,17 +1579,17 @@
> zend_error(E_ERROR, "Cannot increment/decrement overloaded objects nor
>string offsets");
> }
> if (*var_ptr == EG(error_zval_ptr)) {
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EG(uninitialized_zval_ptr);
> - SELECTIVE_PZVAL_LOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr,
>&EX(opline)->result);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EG(uninitialized_zval_ptr);
> + SELECTIVE_PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr,
>&EX(opline)->result);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> switch (EX(opline)->opcode) {
> case ZEND_POST_INC:
> case ZEND_POST_DEC:
> - EX(Ts)[EX(opline)->result.u.var].tmp_var = **var_ptr;
> - zendi_zval_copy_ctor(EX(Ts)[EX(opline)->result.u.var].tmp_var);
> + EX_T(EX(opline)->result.u.var).tmp_var = **var_ptr;
> + zendi_zval_copy_ctor(EX_T(EX(opline)->result.u.var).tmp_var);
> break;
> }
>
> @@ -1597,9 +1600,9 @@
> switch (EX(opline)->opcode) {
> case ZEND_PRE_INC:
> case ZEND_PRE_DEC:
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr = var_ptr;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr = var_ptr;
> SELECTIVE_PZVAL_LOCK(*var_ptr, &EX(opline)->result);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> break;
> }
> NEXT_OPCODE();
> @@ -1628,8 +1631,8 @@
> int zend_print_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_print_variable(get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1),
>BP_VAR_R));
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval = 1;
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_LONG;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = 1;
> + EX_T(EX(opline)->result.u.var).tmp_var.type = IS_LONG;
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> NEXT_OPCODE();
> }
> @@ -1644,7 +1647,7 @@
> int zend_fetch_r_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_var_address(EX(opline), EX(Ts), BP_VAR_R TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> @@ -1668,7 +1671,7 @@
> } else {
> /* Behave like FETCH_R */
> zend_fetch_var_address(EX(opline), EX(Ts), BP_VAR_R TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> }
> NEXT_OPCODE();
> }
> @@ -1676,28 +1679,28 @@
> int zend_fetch_unset_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_var_address(EX(opline), EX(Ts), BP_VAR_R TSRMLS_CC);
> - PZVAL_UNLOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> - if (EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr !=
>&EG(uninitialized_zval_ptr)) {
> - SEPARATE_ZVAL_IF_NOT_REF(EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> + if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr))
>{
> + SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> }
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> NEXT_OPCODE();
> }
>
> int zend_fetch_is_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_var_address(EX(opline), EX(Ts), BP_VAR_IS TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> int zend_fetch_dim_r_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> if (EX(opline)->extended_value == ZEND_FETCH_ADD_LOCK) {
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr);
> + PZVAL_LOCK(*EX_T(EX(opline)->op1.u.var).var.ptr_ptr);
> }
> zend_fetch_dimension_address(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> @@ -1716,7 +1719,7 @@
> int zend_fetch_dim_is_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_dimension_address(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_IS TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> @@ -1728,7 +1731,7 @@
> } else {
> /* Behave like FETCH_DIM_R, except for locking used for list() */
> zend_fetch_dimension_address(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> }
> NEXT_OPCODE();
> }
> @@ -1737,22 +1740,22 @@
> {
> /* Not needed in DIM_UNSET
> if (EX(opline)->extended_value == ZEND_FETCH_ADD_LOCK) {
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr);
> + PZVAL_LOCK(*EX_T(EX(opline)->op1.u.var).var.ptr_ptr);
> }
> */
> zend_fetch_dimension_address(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
> - PZVAL_UNLOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> - if (EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr !=
>&EG(uninitialized_zval_ptr)) {
> - SEPARATE_ZVAL_IF_NOT_REF(EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> + if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr))
>{
> + SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> }
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> NEXT_OPCODE();
> }
>
> int zend_fetch_obj_r_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_property_address_read(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> @@ -1771,7 +1774,7 @@
> int zend_fetch_obj_is_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_property_address_read(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_IS TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> @@ -1782,7 +1785,7 @@
> zend_fetch_property_address(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_W TSRMLS_CC);
> } else {
> zend_fetch_property_address_read(&EX(opline)->result,
>&EX(opline)->op1, &EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> }
> NEXT_OPCODE();
> }
> @@ -1791,18 +1794,18 @@
> {
> zend_fetch_property_address(&EX(opline)->result, &EX(opline)->op1,
>&EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
>
> - PZVAL_UNLOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> - if (EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr !=
>&EG(uninitialized_zval_ptr)) {
> - SEPARATE_ZVAL_IF_NOT_REF(EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> + if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr))
>{
> + SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> }
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> NEXT_OPCODE();
> }
>
> int zend_fetch_dim_tmp_var_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zend_fetch_dimension_address_from_tmp_var(&EX(opline)->result,
>&EX(opline)->op1, &EX(opline)->op2, EX(Ts) TSRMLS_CC);
> - AI_USE_PTR(EX(Ts)[EX(opline)->result.u.var].var);
> + AI_USE_PTR(EX_T(EX(opline)->result.u.var).var);
> NEXT_OPCODE();
> }
>
> @@ -1829,15 +1832,15 @@
> break;
> }
>
> - EX(Ts)[EX(opline)->result.u.var].var.ptr = value;
> - PZVAL_LOCK(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> + EX_T(EX(opline)->result.u.var).var.ptr = value;
> + PZVAL_LOCK(EX_T(EX(opline)->result.u.var).var.ptr);
>
> NEXT_OPCODE();
> }
>
> int zend_assign_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zend_assign_to_object(&EX(opline)->result, &EX(opline)->op1, &EX(opline)->op2,
>EX(Ts)[EX(opline)->extended_value].var.ptr, EX(Ts) TSRMLS_CC);
> + zend_assign_to_object(&EX(opline)->result, &EX(opline)->op1, &EX(opline)->op2,
>EX_T(EX(opline)->extended_value).var.ptr, EX(Ts) TSRMLS_CC);
> NEXT_OPCODE();
> }
>
> @@ -1930,8 +1933,8 @@
> int retval = zend_is_true(get_zval_ptr(&original_opline->op1, EX(Ts),
>&EG(free_op1), BP_VAR_R));
>
> FREE_OP(EX(Ts), &original_opline->op1, EG(free_op1));
> - EX(Ts)[original_opline->result.u.var].tmp_var.value.lval = retval;
> - EX(Ts)[original_opline->result.u.var].tmp_var.type = IS_BOOL;
> + EX_T(original_opline->result.u.var).tmp_var.value.lval = retval;
> + EX_T(original_opline->result.u.var).tmp_var.type = IS_BOOL;
> if (!retval) {
> #if DEBUG_ZEND>=2
> printf("Conditional jmp to %d\n", EX(opline)->op2.u.opline_num);
> @@ -1948,8 +1951,8 @@
> int retval = zend_is_true(get_zval_ptr(&original_opline->op1, EX(Ts),
>&EG(free_op1), BP_VAR_R));
>
> FREE_OP(EX(Ts), &original_opline->op1, EG(free_op1));
> - EX(Ts)[original_opline->result.u.var].tmp_var.value.lval = retval;
> - EX(Ts)[original_opline->result.u.var].tmp_var.type = IS_BOOL;
> + EX_T(original_opline->result.u.var).tmp_var.value.lval = retval;
> + EX_T(original_opline->result.u.var).tmp_var.type = IS_BOOL;
> if (retval) {
> #if DEBUG_ZEND>=2
> printf("Conditional jmp to %d\n", EX(opline)->op2.u.opline_num);
> @@ -1962,24 +1965,24 @@
>
> int zend_free_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zendi_zval_dtor(EX(Ts)[EX(opline)->op1.u.var].tmp_var);
> + zendi_zval_dtor(EX_T(EX(opline)->op1.u.var).tmp_var);
> NEXT_OPCODE();
> }
>
> int zend_init_string_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.str.val = emalloc(1);
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.str.val[0] = 0;
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.str.len = 0;
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.refcount = 1;
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_STRING;
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.is_ref = 0;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.str.val = emalloc(1);
> + EX_T(EX(opline)->result.u.var).tmp_var.value.str.val[0] = 0;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.str.len = 0;
> + EX_T(EX(opline)->result.u.var).tmp_var.refcount = 1;
> + EX_T(EX(opline)->result.u.var).tmp_var.type = IS_STRING;
> + EX_T(EX(opline)->result.u.var).tmp_var.is_ref = 0;
> NEXT_OPCODE();
> }
>
> int zend_add_char_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - add_char_to_string(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + add_char_to_string(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_NA),
> &EX(opline)->op2.u.constant);
> /* FREE_OP is missing intentionally here - we're always working on the same
>temporary variable */
> @@ -1988,7 +1991,7 @@
>
> int zend_add_string_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - add_string_to_string(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + add_string_to_string(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_NA),
> &EX(opline)->op2.u.constant);
> /* FREE_OP is missing intentionally here - we're always working on the same
>temporary variable */
> @@ -2005,7 +2008,7 @@
> if (use_copy) {
> var = &var_copy;
> }
> - add_string_to_string( &EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + add_string_to_string( &EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1,
>EX(Ts), &EG(free_op1), BP_VAR_NA),
> var);
> if (use_copy) {
> @@ -2027,7 +2030,7 @@
> zend_class_entry *ce;
> zend_function *function;
>
> - ce = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry;
> + ce = EX_T(EX(opline)->op1.u.var).EA.class_entry;
>
> if (EX(opline)->op2.op_type != IS_UNUSED) {
> char *function_name_strval;
> @@ -2056,7 +2059,7 @@
> zend_class_entry *ce;
> zend_class_entry **import_ce;
>
> - ce = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry;
> + ce = EX_T(EX(opline)->op1.u.var).EA.class_entry;
>
> if (EX(opline)->op2.op_type != IS_UNUSED) {
> char *class_name_strval;
> @@ -2087,7 +2090,7 @@
> zval **import_constant;
> zend_constant c;
>
> - ce = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry;
> + ce = EX_T(EX(opline)->op1.u.var).EA.class_entry;
> if (EX(opline)->op2.op_type != IS_UNUSED) {
> char *const_name_strval;
> int const_name_strlen;
> @@ -2148,10 +2151,10 @@
> if (!EG(scope)) {
> zend_error(E_ERROR, "Cannot fetch self:: when no class
>scope is active");
> }
> - EX(Ts)[EX(opline)->result.u.var].EA.class_entry = EG(scope);
> + EX_T(EX(opline)->result.u.var).EA.class_entry = EG(scope);
> NEXT_OPCODE();
> } else if (EX(opline)->extended_value == ZEND_FETCH_CLASS_MAIN) {
> - EX(Ts)[EX(opline)->result.u.var].EA.class_entry =
>EG(main_class_ptr);
> + EX_T(EX(opline)->result.u.var).EA.class_entry =
>EG(main_class_ptr);
> NEXT_OPCODE();
> } else if (EX(opline)->extended_value == ZEND_FETCH_CLASS_PARENT) {
> if (!EG(scope)) {
> @@ -2160,7 +2163,7 @@
> if (!EG(scope)->parent) {
> zend_error(E_ERROR, "Cannot fetch parent:: as current
>class scope has no parent");
> }
> - EX(Ts)[EX(opline)->result.u.var].EA.class_entry =
>EG(scope)->parent;
> + EX_T(EX(opline)->result.u.var).EA.class_entry =
>EG(scope)->parent;
> NEXT_OPCODE();
> }
> }
> @@ -2185,13 +2188,13 @@
> if (EX(opline)->op1.op_type == IS_UNUSED) {
> retval = zend_lookup_class(class_name_strval, class_name_strlen, &pce
>TSRMLS_CC);
> } else {
> - retval =
>zend_hash_find(&EX(Ts)[EX(opline)->op1.u.var].EA.class_entry->class_table,
>class_name_strval, class_name_strlen+1, (void **)&pce);
> + retval =
>zend_hash_find(&EX_T(EX(opline)->op1.u.var).EA.class_entry->class_table,
>class_name_strval, class_name_strlen+1, (void **)&pce);
> }
>
> if (retval == FAILURE) {
> zend_error(E_ERROR, "Class '%s' not found", class_name_strval);
> } else {
> - EX(Ts)[EX(opline)->result.u.var].EA.class_entry = *pce;
> + EX_T(EX(opline)->result.u.var).EA.class_entry = *pce;
> }
> if (!is_const) {
> zval_dtor(&tmp);
> @@ -2205,7 +2208,7 @@
> zend_ptr_stack_n_push(&EG(arg_types_stack), 3, EX(fbc), EX(object),
>EX(calling_scope));
>
> if (EX(opline)->op1.op_type == IS_VAR) {
> - SELECTIVE_PZVAL_LOCK(*EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr,
>&EX(opline)->op1);
> + SELECTIVE_PZVAL_LOCK(*EX_T(EX(opline)->op1.u.var).var.ptr_ptr,
>&EX(opline)->op1);
> }
>
> /* We are not handling overloaded classes right now */
> @@ -2314,7 +2317,7 @@
> EX(object)->refcount++;
> }
>
> - ce = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry;
> + ce = EX_T(EX(opline)->op1.u.var).EA.class_entry;
>
> EX(calling_scope) = ce;
>
> @@ -2403,22 +2406,22 @@
> current_this = EG(This);
> EG(This) = EX(object);
>
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EX(Ts)[EX(opline)->result.u.var].var.ptr;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EX_T(EX(opline)->result.u.var).var.ptr;
>
> if (EX(function_state).function->type==ZEND_INTERNAL_FUNCTION) {
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - INIT_ZVAL(*(EX(Ts)[EX(opline)->result.u.var].var.ptr));
> - ((zend_internal_function *)
>EX(function_state).function)->handler(EX(opline)->extended_value,
>EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object), return_value_used TSRMLS_CC);
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + INIT_ZVAL(*(EX_T(EX(opline)->result.u.var).var.ptr));
> + ((zend_internal_function *)
>EX(function_state).function)->handler(EX(opline)->extended_value,
>EX_T(EX(opline)->result.u.var).var.ptr, EX(object), return_value_used TSRMLS_CC);
> EG(current_execute_data) = execute_data;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->is_ref = 0;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->refcount = 1;
> + EX_T(EX(opline)->result.u.var).var.ptr->is_ref = 0;
> + EX_T(EX(opline)->result.u.var).var.ptr->refcount = 1;
> if (!return_value_used) {
> - zval_ptr_dtor(&EX(Ts)[EX(opline)->result.u.var].var.ptr);
> + zval_ptr_dtor(&EX_T(EX(opline)->result.u.var).var.ptr);
> }
> } else if (EX(function_state).function->type==ZEND_USER_FUNCTION) {
> HashTable *calling_symbol_table;
>
> - EX(Ts)[EX(opline)->result.u.var].var.ptr = NULL;
> + EX_T(EX(opline)->result.u.var).var.ptr = NULL;
> if (EG(symtable_cache_ptr)>=EG(symtable_cache)) {
> /*printf("Cache hit! Reusing %x\n",
>symtable_cache[symtable_cache_ptr]);*/
> EX(function_state).function_symbol_table =
>*(EG(symtable_cache_ptr)--);
> @@ -2430,18 +2433,18 @@
> calling_symbol_table = EG(active_symbol_table);
> EG(active_symbol_table) = EX(function_state).function_symbol_table;
> original_return_value = EG(return_value_ptr_ptr);
> - EG(return_value_ptr_ptr) =
>EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr;
> + EG(return_value_ptr_ptr) = EX_T(EX(opline)->result.u.var).var.ptr_ptr;
> EG(active_op_array) = (zend_op_array *) EX(function_state).function;
>
> zend_execute(EG(active_op_array) TSRMLS_CC);
>
> - if (return_value_used && !EX(Ts)[EX(opline)->result.u.var].var.ptr) {
> + if (return_value_used && !EX_T(EX(opline)->result.u.var).var.ptr) {
> if (!EG(exception)) {
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - INIT_ZVAL(*EX(Ts)[EX(opline)->result.u.var].var.ptr);
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + INIT_ZVAL(*EX_T(EX(opline)->result.u.var).var.ptr);
> }
> - } else if (!return_value_used &&
>EX(Ts)[EX(opline)->result.u.var].var.ptr) {
> - zval_ptr_dtor(&EX(Ts)[EX(opline)->result.u.var].var.ptr);
> + } else if (!return_value_used &&
>EX_T(EX(opline)->result.u.var).var.ptr) {
> + zval_ptr_dtor(&EX_T(EX(opline)->result.u.var).var.ptr);
> }
>
> EG(opline_ptr) = &EX(opline);
> @@ -2456,18 +2459,18 @@
> }
> EG(active_symbol_table) = calling_symbol_table;
> } else { /* ZEND_OVERLOADED_FUNCTION */
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - INIT_ZVAL(*(EX(Ts)[EX(opline)->result.u.var].var.ptr));
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + INIT_ZVAL(*(EX_T(EX(opline)->result.u.var).var.ptr));
>
> if (EX(object)) {
> -
>Z_OBJ_HT_P(EX(object))->call_method(EX(fbc)->common.function_name,
>EX(opline)->extended_value, EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object),
>return_value_used TSRMLS_CC);
> +
>Z_OBJ_HT_P(EX(object))->call_method(EX(fbc)->common.function_name,
>EX(opline)->extended_value, EX_T(EX(opline)->result.u.var).var.ptr, EX(object),
>return_value_used TSRMLS_CC);
> } else {
> zend_error(E_ERROR, "Cannot call overloaded function for
>non-object");
> }
>
> efree(EX(fbc));
> if (!return_value_used) {
> - zval_ptr_dtor(&EX(Ts)[EX(opline)->result.u.var].var.ptr);
> + zval_ptr_dtor(&EX_T(EX(opline)->result.u.var).var.ptr);
> }
> }
> zend_ptr_stack_n_pop(&EG(arg_types_stack), 3, &EX(calling_scope), &EX(object),
>&EX(fbc));
> @@ -2611,9 +2614,9 @@
> return 0; /* CHECK_ME */
> }
> ce = Z_OBJCE_P(EG(exception));
> - if (ce != EX(Ts)[EX(opline)->op1.u.var].EA.class_entry) {
> + if (ce != EX_T(EX(opline)->op1.u.var).EA.class_entry) {
> while (ce->parent) {
> - if (ce->parent ==
>EX(Ts)[EX(opline)->op1.u.var].EA.class_entry) {
> + if (ce->parent == EX_T(EX(opline)->op1.u.var).EA.class_entry) {
> goto exception_should_be_taken;
> }
> ce = ce->parent;
> @@ -2735,7 +2738,7 @@
> if (zend_ptr_stack_get_arg(EX(opline)->op1.u.constant.value.lval, (void **)
>¶m TSRMLS_CC)==FAILURE) {
> zend_error(E_WARNING, "Missing argument %d for %s()\n",
>EX(opline)->op1.u.constant.value.lval, get_active_function_name(TSRMLS_C));
> if (EX(opline)->result.op_type == IS_VAR) {
> - PZVAL_UNLOCK(*EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr);
> + PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
> }
> } else if (PZVAL_IS_REF(*param)) {
> zend_assign_to_variable_reference(NULL,
>get_zval_ptr_ptr(&EX(opline)->result, EX(Ts), BP_VAR_W), param, NULL TSRMLS_CC);
> @@ -2785,8 +2788,8 @@
> int zend_bool_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> /* PHP 3.0 returned "" for false and 1 for true, here we use 0 and 1 for now */
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval =
>zend_is_true(get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R));
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_BOOL;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval =
>zend_is_true(get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R));
> + EX_T(EX(opline)->result.u.var).tmp_var.type = IS_BOOL;
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
>
> NEXT_OPCODE();
> @@ -2822,7 +2825,7 @@
> zend_switch_free(brk_opline, EX(Ts) TSRMLS_CC);
> break;
> case ZEND_FREE:
> -
>zendi_zval_dtor(EX(Ts)[brk_opline->op1.u.var].tmp_var);
> +
>zendi_zval_dtor(EX_T(brk_opline->op1.u.var).tmp_var);
> break;
> }
> }
> @@ -2853,16 +2856,16 @@
> int switch_expr_is_overloaded=0;
>
> if (EX(opline)->op1.op_type==IS_VAR) {
> - if (EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr) {
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr);
> + if (EX_T(EX(opline)->op1.u.var).var.ptr_ptr) {
> + PZVAL_LOCK(*EX_T(EX(opline)->op1.u.var).var.ptr_ptr);
> } else {
> switch_expr_is_overloaded = 1;
> - if (EX(Ts)[EX(opline)->op1.u.var].EA.type==IS_STRING_OFFSET) {
> -
>EX(Ts)[EX(opline)->op1.u.var].EA.data.str_offset.str->refcount++;
> + if (EX_T(EX(opline)->op1.u.var).EA.type==IS_STRING_OFFSET) {
> +
>EX_T(EX(opline)->op1.u.var).EA.data.str_offset.str->refcount++;
> }
> }
> }
> - is_equal_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var,
> + is_equal_function(&EX_T(EX(opline)->result.u.var).tmp_var,
> get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1),
>BP_VAR_R),
> get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2),
>BP_VAR_R) TSRMLS_CC);
>
> @@ -2874,8 +2877,8 @@
> * are allocated at each get_zval_ptr())
> */
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> - EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr = NULL;
> - AI_USE_PTR(EX(Ts)[EX(opline)->op1.u.var].var);
> + EX_T(EX(opline)->op1.u.var).var.ptr_ptr = NULL;
> + AI_USE_PTR(EX_T(EX(opline)->op1.u.var).var);
> }
> NEXT_OPCODE();
> }
> @@ -2888,11 +2891,11 @@
>
> int zend_new_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EX(Ts)[EX(opline)->result.u.var].var.ptr;
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - object_init_ex(EX(Ts)[EX(opline)->result.u.var].var.ptr,
>EX(Ts)[EX(opline)->op1.u.var].EA.class_entry);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->refcount=1;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->is_ref=1;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EX_T(EX(opline)->result.u.var).var.ptr;
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + object_init_ex(EX_T(EX(opline)->result.u.var).var.ptr,
>EX_T(EX(opline)->op1.u.var).EA.class_entry);
> + EX_T(EX(opline)->result.u.var).var.ptr->refcount=1;
> + EX_T(EX(opline)->result.u.var).var.ptr->is_ref=1;
>
> NEXT_OPCODE();
> }
> @@ -2901,12 +2904,12 @@
> {
> zval *obj = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
>
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EX(Ts)[EX(opline)->result.u.var].var.ptr;
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->value.obj =
>Z_OBJ_HT_P(obj)->clone_obj(obj TSRMLS_CC);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->type = IS_OBJECT;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->refcount=1;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->is_ref=1;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EX_T(EX(opline)->result.u.var).var.ptr;
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + EX_T(EX(opline)->result.u.var).var.ptr->value.obj =
>Z_OBJ_HT_P(obj)->clone_obj(obj TSRMLS_CC);
> + EX_T(EX(opline)->result.u.var).var.ptr->type = IS_OBJECT;
> + EX_T(EX(opline)->result.u.var).var.ptr->refcount=1;
> + EX_T(EX(opline)->result.u.var).var.ptr->is_ref=1;
> NEXT_OPCODE();
> }
>
> @@ -2920,37 +2923,37 @@
> ce = EG(scope);
> if (zend_hash_find(&ce->constants_table,
>EX(opline)->op2.u.constant.value.str.val, EX(opline)->op2.u.constant.value.str.len+1,
>(void **) &value) == SUCCESS) {
> zval_update_constant(value, (void *) 1 TSRMLS_CC);
> - EX(Ts)[EX(opline)->result.u.var].tmp_var = **value;
> -
>zval_copy_ctor(&EX(Ts)[EX(opline)->result.u.var].tmp_var);
> + EX_T(EX(opline)->result.u.var).tmp_var = **value;
> +
>zval_copy_ctor(&EX_T(EX(opline)->result.u.var).tmp_var);
> NEXT_OPCODE();
> }
> }
> - if (!zend_get_constant(EX(opline)->op2.u.constant.value.str.val,
>EX(opline)->op2.u.constant.value.str.len, &EX(Ts)[EX(opline)->result.u.var].tmp_var
>TSRMLS_CC)) {
> + if (!zend_get_constant(EX(opline)->op2.u.constant.value.str.val,
>EX(opline)->op2.u.constant.value.str.len, &EX_T(EX(opline)->result.u.var).tmp_var
>TSRMLS_CC)) {
> zend_error(E_NOTICE, "Use of undefined constant %s - assumed
>'%s'",
>
>EX(opline)->op2.u.constant.value.str.val,
>
>EX(opline)->op2.u.constant.value.str.val);
> - EX(Ts)[EX(opline)->result.u.var].tmp_var =
>EX(opline)->op2.u.constant;
> - zval_copy_ctor(&EX(Ts)[EX(opline)->result.u.var].tmp_var);
> + EX_T(EX(opline)->result.u.var).tmp_var =
>EX(opline)->op2.u.constant;
> + zval_copy_ctor(&EX_T(EX(opline)->result.u.var).tmp_var);
> }
> NEXT_OPCODE();
> }
>
> - ce = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry;
> + ce = EX_T(EX(opline)->op1.u.var).EA.class_entry;
>
> if (&ce->constants_table == &EG(main_class_ptr)->constants_table) {
> - if (!zend_get_constant(EX(opline)->op2.u.constant.value.str.val,
>EX(opline)->op2.u.constant.value.str.len, &EX(Ts)[EX(opline)->result.u.var].tmp_var
>TSRMLS_CC)) {
> + if (!zend_get_constant(EX(opline)->op2.u.constant.value.str.val,
>EX(opline)->op2.u.constant.value.str.len, &EX_T(EX(opline)->result.u.var).tmp_var
>TSRMLS_CC)) {
> zend_error(E_NOTICE, "Use of undefined constant %s - assumed
>'%s'",
>
>EX(opline)->op2.u.constant.value.str.val,
>
>EX(opline)->op2.u.constant.value.str.val);
> - EX(Ts)[EX(opline)->result.u.var].tmp_var =
>EX(opline)->op2.u.constant;
> - zval_copy_ctor(&EX(Ts)[EX(opline)->result.u.var].tmp_var);
> + EX_T(EX(opline)->result.u.var).tmp_var =
>EX(opline)->op2.u.constant;
> + zval_copy_ctor(&EX_T(EX(opline)->result.u.var).tmp_var);
> }
> NEXT_OPCODE();
> }
> if (zend_hash_find(&ce->constants_table,
>EX(opline)->op2.u.constant.value.str.val, EX(opline)->op2.u.constant.value.str.len+1,
>(void **) &value) == SUCCESS) {
> zval_update_constant(value, (void *) 1 TSRMLS_CC);
> - EX(Ts)[EX(opline)->result.u.var].tmp_var = **value;
> - zval_copy_ctor(&EX(Ts)[EX(opline)->result.u.var].tmp_var);
> + EX_T(EX(opline)->result.u.var).tmp_var = **value;
> + zval_copy_ctor(&EX_T(EX(opline)->result.u.var).tmp_var);
> } else {
> zend_error(E_ERROR, "Undefined class constant '%s'",
>EX(opline)->op2.u.constant.value.str.val);
> }
> @@ -2960,7 +2963,7 @@
>
> inline int zend_init_add_array_helper(ZEND_OPCODE_HANDLER_ARGS)
> {
> - zval *array_ptr = &EX(Ts)[EX(opline)->result.u.var].tmp_var;
> + zval *array_ptr = &EX_T(EX(opline)->result.u.var).tmp_var;
> zval *expr_ptr, **expr_ptr_ptr = NULL;
> zval *offset=get_zval_ptr(&EX(opline)->op2, EX(Ts), &EG(free_op2), BP_VAR_R);
>
> @@ -3040,7 +3043,7 @@
> int zend_cast_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zval *expr = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
> - zval *result = &EX(Ts)[EX(opline)->result.u.var].tmp_var;
> + zval *result = &EX_T(EX(opline)->result.u.var).tmp_var;
>
> *result = *expr;
> if (!EG(free_op1)) {
> @@ -3146,15 +3149,15 @@
> zval_dtor(&tmp_inc_filename);
> }
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EX(Ts)[EX(opline)->result.u.var].var.ptr;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EX_T(EX(opline)->result.u.var).var.ptr;
> if (new_op_array) {
> zval *saved_object;
> zend_function *saved_function;
>
>
> - EG(return_value_ptr_ptr) =
>EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr;
> + EG(return_value_ptr_ptr) = EX_T(EX(opline)->result.u.var).var.ptr_ptr;
> EG(active_op_array) = new_op_array;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr = NULL;
> + EX_T(EX(opline)->result.u.var).var.ptr = NULL;
>
> saved_object = EX(object);
> saved_function = EX(function_state).function;
> @@ -3168,15 +3171,15 @@
> EX(object) = saved_object;
>
> if (!return_value_used) {
> - if (EX(Ts)[EX(opline)->result.u.var].var.ptr) {
> -
>zval_ptr_dtor(&EX(Ts)[EX(opline)->result.u.var].var.ptr);
> + if (EX_T(EX(opline)->result.u.var).var.ptr) {
> + zval_ptr_dtor(&EX_T(EX(opline)->result.u.var).var.ptr);
> }
> } else { /* return value is used */
> - if (!EX(Ts)[EX(opline)->result.u.var].var.ptr) { /* there was
>no return statement */
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - INIT_PZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->value.lval =
>1;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->type =
>IS_BOOL;
> + if (!EX_T(EX(opline)->result.u.var).var.ptr) { /* there was no
>return statement */
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + INIT_PZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + EX_T(EX(opline)->result.u.var).var.ptr->value.lval = 1;
> + EX_T(EX(opline)->result.u.var).var.ptr->type = IS_BOOL;
> }
> }
>
> @@ -3187,10 +3190,10 @@
> efree(new_op_array);
> } else {
> if (return_value_used) {
> - ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - INIT_ZVAL(*EX(Ts)[EX(opline)->result.u.var].var.ptr);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->value.lval =
>failure_retval;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr->type = IS_BOOL;
> + ALLOC_ZVAL(EX_T(EX(opline)->result.u.var).var.ptr);
> + INIT_ZVAL(*EX_T(EX(opline)->result.u.var).var.ptr);
> + EX_T(EX(opline)->result.u.var).var.ptr->value.lval =
>failure_retval;
> + EX_T(EX(opline)->result.u.var).var.ptr->type = IS_BOOL;
> }
> }
> EG(return_value_ptr_ptr) = original_return_value;
> @@ -3303,8 +3306,8 @@
> }
> }
> PZVAL_LOCK(array_ptr);
> - EX(Ts)[EX(opline)->result.u.var].var.ptr = array_ptr;
> - EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr =
>&EX(Ts)[EX(opline)->result.u.var].var.ptr;
> + EX_T(EX(opline)->result.u.var).var.ptr = array_ptr;
> + EX_T(EX(opline)->result.u.var).var.ptr_ptr =
>&EX_T(EX(opline)->result.u.var).var.ptr;
>
> if ((fe_ht = HASH_OF(array_ptr)) != NULL) {
> /* probably redundant */
> @@ -3318,7 +3321,7 @@
> int zend_fe_fetch_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zval *array = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
> - zval *result = &EX(Ts)[EX(opline)->result.u.var].tmp_var;
> + zval *result = &EX_T(EX(opline)->result.u.var).tmp_var;
> zval **value, *key;
> char *str_key;
> ulong int_key;
> @@ -3367,7 +3370,7 @@
> zend_function *constructor;
>
> if (EX(opline)->op1.op_type == IS_VAR) {
> - PZVAL_LOCK(*EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr);
> + PZVAL_LOCK(*EX_T(EX(opline)->op1.u.var).var.ptr_ptr);
> }
>
> object_zval = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
> @@ -3404,21 +3407,21 @@
> isset = 0;
> }
>
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_BOOL;
> + EX_T(EX(opline)->result.u.var).tmp_var.type = IS_BOOL;
>
> switch (EX(opline)->extended_value) {
> case ZEND_ISSET:
> if (isset && Z_TYPE_PP(value) == IS_NULL) {
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval =
>0;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = 0;
> } else {
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval =
>isset;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval =
>isset;
> }
> break;
> case ZEND_ISEMPTY:
> if (!isset || !zend_is_true(*value)) {
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval =
>1;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = 1;
> } else {
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval =
>0;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = 0;
> }
> break;
> }
> @@ -3504,14 +3507,14 @@
> /* string offsets */
> }
>
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_BOOL;
> + EX_T(EX(opline)->result.u.var).tmp_var.type = IS_BOOL;
>
> switch (EX(opline)->extended_value) {
> case ZEND_ISSET:
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval = result;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = result;
> break;
> case ZEND_ISEMPTY:
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval = !result;
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = !result;
> break;
> }
>
> @@ -3539,15 +3542,15 @@
>
> int zend_begin_silence_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.value.lval = EG(error_reporting);
> - EX(Ts)[EX(opline)->result.u.var].tmp_var.type = IS_LONG; /* shouldn't be
>necessary */
> + EX_T(EX(opline)->result.u.var).tmp_var.value.lval = EG(error_reporting);
> + EX_T(EX(opline)->result.u.var).tmp_var.type = IS_LONG; /* shouldn't be
>necessary */
> EG(error_reporting) = 0;
> NEXT_OPCODE();
> }
>
> int zend_end_silence_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - EG(error_reporting) = EX(Ts)[EX(opline)->op1.u.var].tmp_var.value.lval;
> + EG(error_reporting) = EX_T(EX(opline)->op1.u.var).tmp_var.value.lval;
> NEXT_OPCODE();
> }
>
> @@ -3555,9 +3558,9 @@
> {
> zval *value = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
>
> - EX(Ts)[EX(opline)->result.u.var].tmp_var = *value;
> + EX_T(EX(opline)->result.u.var).tmp_var = *value;
> if (!EG(free_op1)) {
> - zval_copy_ctor(&EX(Ts)[EX(opline)->result.u.var].tmp_var);
> + zval_copy_ctor(&EX_T(EX(opline)->result.u.var).tmp_var);
> }
> NEXT_OPCODE();
> }
> @@ -3594,7 +3597,7 @@
>
> int zend_declare_inherited_class_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> - do_bind_inherited_class(EX(opline), EG(function_table), EG(class_table),
>EX(Ts)[EX(opline)->extended_value].EA.class_entry);
> + do_bind_inherited_class(EX(opline), EG(function_table), EG(class_table),
>EX_T(EX(opline)->extended_value).EA.class_entry);
> NEXT_OPCODE();
> }
>
> @@ -3618,8 +3621,8 @@
> int zend_is_class_handler(ZEND_OPCODE_HANDLER_ARGS)
> {
> zval *expr = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
> - is_class_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var, expr,
> -
>EX(Ts)[EX(opline)->op2.u.var].EA.class_entry TSRMLS_CC);
> + is_class_function(&EX_T(EX(opline)->result.u.var).tmp_var, expr,
> +
>EX_T(EX(opline)->op2.u.var).EA.class_entry TSRMLS_CC);
> FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
> NEXT_OPCODE();
> }
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
--
GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc
$ grep docref_root php.ini
docref_root =
"http://landonize.it/?how=url&theme=classic&filter=RichyH&user=imajes&url=http%3A%2F%2Fphp.net%2F/"
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php