Re: [PHP-CVS] com php-src: Fix non-specialized executor build: Zend/zend_vm_def.h

2013-06-21 Thread Ard Biesheuvel
On 21 June 2013 11:01, Dmitry Stogov  wrote:
> I think it's better to apply the same patch to 5.4 and 5.5 as well.
> It's absolutely safe.
>

OK done!

-- 
Ard.



> Thanks. Dmitry.
>
>
> On Fri, Jun 21, 2013 at 12:51 PM, Ard Biesheuvel 
> wrote:
>>
>> On 20 June 2013 23:28, Christopher Jones 
>> wrote:
>> > Your @internals mail said "building the executor without
>> > specialization is broken" so the patch seems like a standard bug fix
>> > that should be merged to 5.4 & 5.5.
>> >
>>
>> By 'building' I mean running 'zend_vm_gen.php --without-specializer'
>> to generate zend_vm_opcodes.h and zend_vm_execute.h, which is a way
>> that is arguably non-standard, proven by the fact that this particular
>> mode has been broken since November 2010. In fact, when running this
>> script in the conventional way, the produced code is identical to the
>> code that is already in the repository.
>>
>> @Dmitry: there's a request to backport the FREE_OP2() fixes to 5.5 and
>> 5.4, what do you think?
>>
>> --
>> Ard.
>
>

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] com php-src: Fix non-specialized executor build: Zend/zend_vm_def.h

2013-06-21 Thread Dmitry Stogov
I think it's better to apply the same patch to 5.4 and 5.5 as well.
It's absolutely safe.

Thanks. Dmitry.


On Fri, Jun 21, 2013 at 12:51 PM, Ard Biesheuvel
wrote:

> On 20 June 2013 23:28, Christopher Jones 
> wrote:
> > Your @internals mail said "building the executor without
> > specialization is broken" so the patch seems like a standard bug fix
> > that should be merged to 5.4 & 5.5.
> >
>
> By 'building' I mean running 'zend_vm_gen.php --without-specializer'
> to generate zend_vm_opcodes.h and zend_vm_execute.h, which is a way
> that is arguably non-standard, proven by the fact that this particular
> mode has been broken since November 2010. In fact, when running this
> script in the conventional way, the produced code is identical to the
> code that is already in the repository.
>
> @Dmitry: there's a request to backport the FREE_OP2() fixes to 5.5 and
> 5.4, what do you think?
>
> --
> Ard.
>


Re: [PHP-CVS] com php-src: Fix non-specialized executor build: Zend/zend_vm_def.h

2013-06-21 Thread Ard Biesheuvel
On 20 June 2013 23:28, Christopher Jones  wrote:
> Your @internals mail said "building the executor without
> specialization is broken" so the patch seems like a standard bug fix
> that should be merged to 5.4 & 5.5.
>

By 'building' I mean running 'zend_vm_gen.php --without-specializer'
to generate zend_vm_opcodes.h and zend_vm_execute.h, which is a way
that is arguably non-standard, proven by the fact that this particular
mode has been broken since November 2010. In fact, when running this
script in the conventional way, the produced code is identical to the
code that is already in the repository.

@Dmitry: there's a request to backport the FREE_OP2() fixes to 5.5 and
5.4, what do you think?

-- 
Ard.

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] com php-src: Fix non-specialized executor build: Zend/zend_vm_def.h

2013-06-20 Thread Christopher Jones



On 06/20/2013 02:14 PM, Ard Biesheuvel wrote:

On 20 June 2013 23:00, Christopher Jones  wrote:

On 06/20/2013 08:26 AM, Ard Biesheuvel wrote:


Commit:4cd2b7212fd15af5631b95685fa966dc101a84ff
Author:Ard Biesheuvel  Thu, 20 Jun
2013 17:26:05 +0200
Parents:   3e6b312b55ef8044ba1cea44f8986e2375dc6195
Branches:  master

Link:
http://git.php.net/?p=php-src.git;a=commitdiff;h=4cd2b7212fd15af5631b95685fa966dc101a84ff

Log:
Fix non-specialized executor build

Removed a couple of calls to FREE_OP2() that were left behind in
the handlers for break and continue opcodes after commit 7628da98

Changed paths:
M  Zend/zend_vm_def.h



Doesn't this need to be merged back to PHP 5.5 (and added to NEWS)?




Hey Chris,

Considering that zend_vm_def.h is only a template used to generate
zend_vm_execute.h and zend_vm_opcodes.h, which I will not be
regenerating and submitting for 5.4 and 5.5 (given their stable and RC
status respectively), I am not sure there is any merit to merging
these changes to those trees as well.



Your @internals mail said "building the executor without
specialization is broken" so the patch seems like a standard bug fix
that should be merged to 5.4 & 5.5.

Chris


--
christopher.jo...@oracle.com  http://twitter.com/ghrd
Free PHP & Oracle book:
http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] com php-src: Fix non-specialized executor build: Zend/zend_vm_def.h

2013-06-20 Thread Ard Biesheuvel
On 20 June 2013 23:00, Christopher Jones  wrote:
> On 06/20/2013 08:26 AM, Ard Biesheuvel wrote:
>>
>> Commit:4cd2b7212fd15af5631b95685fa966dc101a84ff
>> Author:Ard Biesheuvel  Thu, 20 Jun
>> 2013 17:26:05 +0200
>> Parents:   3e6b312b55ef8044ba1cea44f8986e2375dc6195
>> Branches:  master
>>
>> Link:
>> http://git.php.net/?p=php-src.git;a=commitdiff;h=4cd2b7212fd15af5631b95685fa966dc101a84ff
>>
>> Log:
>> Fix non-specialized executor build
>>
>> Removed a couple of calls to FREE_OP2() that were left behind in
>> the handlers for break and continue opcodes after commit 7628da98
>>
>> Changed paths:
>>M  Zend/zend_vm_def.h
>
>
> Doesn't this need to be merged back to PHP 5.5 (and added to NEWS)?
>


Hey Chris,

Considering that zend_vm_def.h is only a template used to generate
zend_vm_execute.h and zend_vm_opcodes.h, which I will not be
regenerating and submitting for 5.4 and 5.5 (given their stable and RC
status respectively), I am not sure there is any merit to merging
these changes to those trees as well.

-- 
Ard.


> Chris
>
>>
>>
>> Diff:
>> diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
>> index 369f945..a15e4c6 100644
>> --- a/Zend/zend_vm_def.h
>> +++ b/Zend/zend_vm_def.h
>> @@ -3299,7 +3299,6 @@ ZEND_VM_HANDLER(50, ZEND_BRK, ANY, CONST)
>> SAVE_OPLINE();
>> el = zend_brk_cont(Z_LVAL_P(opline->op2.zv),
>> opline->op1.opline_num,
>>EX(op_array), execute_data TSRMLS_CC);
>> -   FREE_OP2();
>> ZEND_VM_JMP(EX(op_array)->opcodes + el->brk);
>>   }
>>
>> @@ -3311,7 +3310,6 @@ ZEND_VM_HANDLER(51, ZEND_CONT, ANY, CONST)
>> SAVE_OPLINE();
>> el = zend_brk_cont(Z_LVAL_P(opline->op2.zv),
>> opline->op1.opline_num,
>>EX(op_array), execute_data TSRMLS_CC);
>> -   FREE_OP2();
>> ZEND_VM_JMP(EX(op_array)->opcodes + el->cont);
>>   }
>>
>>
>
> --
> christopher.jo...@oracle.com  http://twitter.com/ghrd
> Free PHP & Oracle book:
> http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] com php-src: Fix non-specialized executor build: Zend/zend_vm_def.h

2013-06-20 Thread Christopher Jones



On 06/20/2013 08:26 AM, Ard Biesheuvel wrote:

Commit:4cd2b7212fd15af5631b95685fa966dc101a84ff
Author:Ard Biesheuvel  Thu, 20 Jun 2013 
17:26:05 +0200
Parents:   3e6b312b55ef8044ba1cea44f8986e2375dc6195
Branches:  master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=4cd2b7212fd15af5631b95685fa966dc101a84ff

Log:
Fix non-specialized executor build

Removed a couple of calls to FREE_OP2() that were left behind in
the handlers for break and continue opcodes after commit 7628da98

Changed paths:
   M  Zend/zend_vm_def.h


Doesn't this need to be merged back to PHP 5.5 (and added to NEWS)?

Chris




Diff:
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 369f945..a15e4c6 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -3299,7 +3299,6 @@ ZEND_VM_HANDLER(50, ZEND_BRK, ANY, CONST)
SAVE_OPLINE();
el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num,
   EX(op_array), execute_data TSRMLS_CC);
-   FREE_OP2();
ZEND_VM_JMP(EX(op_array)->opcodes + el->brk);
  }

@@ -3311,7 +3310,6 @@ ZEND_VM_HANDLER(51, ZEND_CONT, ANY, CONST)
SAVE_OPLINE();
el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num,
   EX(op_array), execute_data TSRMLS_CC);
-   FREE_OP2();
ZEND_VM_JMP(EX(op_array)->opcodes + el->cont);
  }




--
christopher.jo...@oracle.com  http://twitter.com/ghrd
Free PHP & Oracle book:
http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php