summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2014-07-191-32/+68
|\
| * Improve fix for #66608Xinchen Hui2014-07-191-23/+58
| |
| * Fixed segfault with empty breakXinchen Hui2014-07-191-9/+10
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2014-07-191-2/+2
|\ \ | |/
| * New added opcodes don't need to be reslovedXinchen Hui2014-07-191-2/+2
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2014-07-181-1/+24
|\ \ | |/ | | | | | | | | Conflicts: Zend/zend_vm_def.h Zend/zend_vm_execute.h
| * Fixed bug #66608 (Incorrect behavior with nested "finally" blocks)Xinchen Hui2014-07-181-1/+24
| |
| * Bump yearXinchen Hui2014-01-031-1/+1
| |
* | add T_POW (**) operatordatibbaw2014-02-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed recognition of the operator Added opcode, still doing multiply instead of pow() opcode now always returns int(42) The right answer, but always a float Yanked code from pow() implementation. Should not handle negative long as exponent ourselves Added test cases from pow() Moved precedence higher than '~' Added GMP operator overloading Added ZEND_ASSIGN_POW (**=) operator. Added pow() as a language construct. Adjusted test cases for changed precedence. Reduced pow() to shell function around ZEND_API pow_function() Reduced test case to only contain edge cases Added overloading test case Moved unary minus above T_POW Revert "Added pow() as a language construct." Bad bad bad idea. This reverts commit f60b98cf7a8371233d800a6faa286ddba4432d02. Reverted unary minus behaviour due to previous revert. Convert arrays to int(0) Exponent with array as a base becomes int(0) Rebase against master Fixed tokenizer test case
* | Bump yearXinchen Hui2014-01-031-1/+1
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2013-12-131-1/+1
|\ \ | |/
| * Use zend_error_noreturn hereXinchen Hui2013-12-131-1/+1
| |
| * Disallowed JMP into a finally block.Xinchen Hui2013-12-131-5/+10
| |
* | Fixed bug #65784 (Segfault with finally).Xinchen Hui2013-12-131-10/+15
| |
* | Use zend_error_noreturn for all E_COMPILE_ERRORsNikita Popov2013-10-191-2/+2
|/
* Merge branch 'PHP-5.4' into PHP-5.5Dmitry Stogov2013-05-211-1/+2
|\ | | | | | | | | | | | | | | * PHP-5.4: Fixed bug #64720 (SegFault on zend_deactivate) Conflicts: NEWS
| * Fixed bug #64720 (SegFault on zend_deactivate)Dmitry Stogov2013-05-211-1/+2
| |
| * Happy New YearXinchen Hui2013-01-011-1/+1
| |
* | Happy New YearXinchen Hui2013-01-011-1/+1
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Dmitry Stogov2012-12-251-20/+1
|\ \ | |/ | | | | | | * PHP-5.4: Traits refactoring
| * Traits refactoringDmitry Stogov2012-12-251-20/+1
| |
* | Restored proper generators behaviour in conjunction with "finally". (Nikita)Dmitry Stogov2012-12-121-19/+3
| |
* | . The VM stacks for passing function arguments and syntaticaly nested calls ↵Dmitry Stogov2012-11-301-0/+21
| | | | | | | | | | | | were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operatins don't require checks for stack overflow any more. . Generators implementation was improved using the new VM stack. Now it's a bit more clear and faster.
* | Improved "finally" im[plementationDmitry Stogov2012-11-221-28/+154
| |
* | Merge branch 'PHP-5.4'Pierre Joye2012-09-051-0/+1
|\ \ | |/ | | | | | | * PHP-5.4: - fix build, there was no tsrm context there, doing a fetch but this is horribly slow, this fix needs improvement (or simply add a TSRM context in the signature in master
| * - fix build, there was no tsrm context there, doing a fetch but this is ↵Pierre Joye2012-09-051-0/+1
| | | | | | | | horribly slow, this fix needs improvement (or simply add a TSRM context in the signature in master
* | Merge branch 'PHP-5.4'Dmitry Stogov2012-09-051-1/+13
|\ \ | |/ | | | | | | | | | | | | * PHP-5.4: Fixed bug #62907 (Double free when use traits) Conflicts: NEWS
| * Fixed bug #62907 (Double free when use traits)Dmitry Stogov2012-09-051-1/+13
| |
* | Add dedicated opcode for returns from a generatorNikita Popov2012-08-241-3/+2
| | | | | | | | | | Generators don't have a return value, so it doesn't make sense to have a shared implementation here.
* | Merge remote-tracking branch 'php-src/master' into addGeneratorsSupportNikita Popov2012-08-241-2/+3
|\ \ | | | | | | | | | | | | | | | Conflicts: Zend/zend_vm_def.h Zend/zend_vm_execute.h
| * | Fixed bug that jmp in try block jmp over finally blockXinchen Hui2012-08-221-3/+3
| | | | | | | | | | | | Refactor the implemention, make codes clear
| * | stashXinchen Hui2012-08-221-0/+1
| | |
* | | Merge remote-tracking branch 'php-src/master' into addGeneratorsSupportNikita Popov2012-08-201-0/+40
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | Merging master to fix Windows build Conflicts: Zend/zend_language_scanner.c Zend/zend_language_scanner_defs.h Zend/zend_vm_def.h
| * | - Remove unused varsFelipe Pena2012-08-181-1/+0
| | |
| * | Make the codes clearer, and also check continue statementXinchen Hui2012-08-181-14/+38
| | |
| * | Refactor examing of jumping out of finally blockXinchen Hui2012-08-181-0/+17
| |/
* | Merge remote-tracking branch 'php-src/master' into addGeneratorsSupportNikita Popov2012-08-131-0/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | This is just an intial merge. It does not yet make generators and finally work together. Conflicts: Zend/zend_language_scanner.c Zend/zend_language_scanner_defs.h Zend/zend_vm_def.h Zend/zend_vm_execute.h Zend/zend_vm_execute.skl Zend/zend_vm_opcodes.h
| * Fixed bug #61998 (Using traits with method aliases appears to result in ↵Dmitry Stogov2012-05-211-0/+6
| | | | | | | | crash during execution)
| * - Year++Felipe Pena2012-01-011-1/+1
| |
| * Improved ternary operator performance when returning arraysArnaud Le Blanc2011-10-181-0/+1
| |
| * Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-17/+13
| |
* | Throw error also for return occuring before yieldNikita Popov2012-07-221-0/+12
| | | | | | | | | | | | | | Previously only an error was thrown when return occured after yield. Also returns before the first yield would fail for by-ref generators. Now the error message is handled in pass_two, so all returns are checked.
* | - Year++Felipe Pena2012-01-011-1/+1
| |
* | Improved ternary operator performance when returning arraysArnaud Le Blanc2011-10-181-0/+1
| |
* | Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-17/+13
|/
* - Year++Felipe Pena2011-01-011-1/+1
|
* marked char pointer arguments as const in lots ofHartmut Holzgraefe2010-10-141-1/+1
| | | | | | places where strings pointed to are not modified to prevent compiler warnings about discarded qualifiers ...
* - Improved memory usageDmitry Stogov2010-09-151-28/+19
| | | | | | | | | | | | | | | | | | | | | | | | . zend_function.pass_rest_by_reference is replaced by ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE in zend_function.fn_flags . zend_arg_info.required_num_args removed. it was needed only for internal functions. Now the first arg_info for internal function (which has special meaning) is represented by zend_internal_function_info structure. . zend_op_array.size, size_var, size_literal, current_brk_cont, backpatch_count moved into CG(context), because they are used only during compilation. . zend_op_array.start_op is moved into EG(start_op), because it's used only for 'interactive' execution of single top-level op-array. . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in zend_op_array.fn_flags. . op_array.vars array is trimmed (reallocated) during pass_two. . zend_class_entry.constants_updated is replaced by ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags . 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.
* Use interned strings for class namesDmitry Stogov2010-08-051-2/+6
|
* - Fix ZTS buildFelipe Pena2010-07-061-1/+1
|