Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix off by one in short_circuiting optimization | Bob Weinand | 2015-06-14 | 1 | -3/+3 |
| | |||||
* | Simplify the condition | Xinchen Hui | 2015-06-14 | 1 | -10/+5 |
| | |||||
* | Revert "Revert "Expand optimizations regarding short-circuting a bit"" | Bob Weinand | 2015-06-14 | 1 | -11/+45 |
| | | | | | | This reverts commit 3770a5ac666cdd4ff4803743232125948140450b. Fixes the bug which probably made make install fail on travis (It never happened to me that all tests passed, but make install failed...) | ||||
* | Revert "Expand optimizations regarding short-circuting a bit" | Xinchen Hui | 2015-06-14 | 1 | -47/+13 |
| | | | | | | This break the CI (build error) This reverts commit 3cfa58367b1b85d346d9be6cf9ae116c63571247. | ||||
* | Expand optimizations regarding short-circuting a bit | Bob Weinand | 2015-06-14 | 1 | -13/+47 |
| | |||||
* | Fix short-circuting (bug #69825) | Bob Weinand | 2015-06-14 | 1 | -1/+4 |
| | |||||
* | typo | Xinchen Hui | 2015-06-13 | 1 | -2/+2 |
| | |||||
* | Merge branch 'master' of git.php.net:php-src | Xinchen Hui | 2015-06-13 | 1 | -0/+2 |
|\ | |||||
| * | Cache the class_name typehint key in arg_info | Bob Weinand | 2015-06-12 | 1 | -0/+2 |
| | | | | | | | | This leads to up to 2% improvement on one tested real world application by not having to always recalculate the lowercased string and its hash | ||||
* | | Fixed Bug #69761 (Serialization of anonymous classes should be prevented) | Xinchen Hui | 2015-06-13 | 1 | -32/+32 |
|/ | | | | | | And also cleanup anonymous class compiling, it make no sense prefix a namespace to anonymous class name. and it is always lowcased and interned string. | ||||
* | Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name) | Xinchen Hui | 2015-06-12 | 1 | -2/+5 |
| | |||||
* | Compile-time constant folding | Dmitry Stogov | 2015-06-11 | 1 | -3/+30 |
| | |||||
* | Fixed bug #69767 (Default parameter value with wrong type segfaults) | Xinchen Hui | 2015-06-08 | 1 | -1/+2 |
| | |||||
* | Fixed bug #69755 (segfault in ZEND_CONCAT_SPEC_TMPVAR_CONST_HANDLER) | Dmitry Stogov | 2015-06-04 | 1 | -0/+9 |
| | |||||
* | Fix Bug #69754 (Compile failure with ::class in array) | Bob Weinand | 2015-06-03 | 1 | -2/+6 |
| | |||||
* | Remove zend_init_list | Nikita Popov | 2015-05-29 | 1 | -12/+1 |
| | | | | | | No longer used - zend_add_to_list already covers this. Also marked zend_add_to_list as static and dropped it from the header. | ||||
* | Drop unnecessary checks for op_array->filename | Nikita Popov | 2015-05-29 | 1 | -22/+8 |
| | | | | We always require a filename. | ||||
* | implicit declaration of function ‘zend_multibyte_yyinput_again’ | Xinchen Hui | 2015-05-26 | 1 | -0/+1 |
| | |||||
* | Also unreserve T_CLASS | Bob Weinand | 2015-05-25 | 1 | -72/+116 |
| | |||||
* | Merge branch 'master' of https://github.com/php/php-src | Bob Weinand | 2015-05-25 | 1 | -12/+12 |
|\ | |||||
| * | Prevent op_array->this_var setting when method uses auto globals | Dmitry Stogov | 2015-05-25 | 1 | -12/+12 |
| | | |||||
* | | Merge context sensitive lexer RFC | Bob Weinand | 2015-05-25 | 1 | -2/+4 |
|\ \ | |/ |/| | |||||
| * | ext tokenizer port + cleanup unused lexer states | Márcio Almada | 2015-04-30 | 1 | -2/+4 |
| | | | | | | | | | | | | | | | | | | | | | | we basically added a mechanism to store the token stream during parsing and exposed the entire parser stack on the tokenizer extension through an opt in flag: token_get_all($src, TOKEN_PARSE). this change allows easy future language enhancements regarding context aware parsing & scanning without further maintance on the tokenizer extension while solves known inconsistencies "parseless" tokenizer extension has when it handles `__halt_compiler()` presence. | ||||
* | | Inline zend_find_builtin_type | Levi Morrison | 2015-05-23 | 1 | -15/+4 |
| | | | | | | | | | | This function was used only inside of zend_find_builtin_type_by_name, which is also used only one time. | ||||
* | | Remove duplication | Levi Morrison | 2015-05-23 | 1 | -43/+33 |
| | | |||||
* | | Rename some variables and functions | Levi Morrison | 2015-05-23 | 1 | -9/+9 |
| | | | | | | | | | | | | The way these are used have little to do with them being scalars; they are just tuples with names, lengths and IS_* constants. We will probably reuse these in the future with other types. | ||||
* | | Use ZEND_JMP instead of ZEND_BRK/ZEND_CONT | Nikita Popov | 2015-05-23 | 1 | -0/+7 |
| | | | | | | | | | | Emit necessary FREEs during compilation, convert to JMP during pass_two (we may not know target opline beforehand). | ||||
* | | Embed break/continue depth into opline | Nikita Popov | 2015-05-23 | 1 | -11/+12 |
| | | | | | | | | | | | | Previously a separate lval literal was used - this is probably a leftover from the time where the break level could still be specified dynamically. | ||||
* | | Move loop var stack management into begin/end loop | Nikita Popov | 2015-05-23 | 1 | -33/+33 |
| | | | | | | | | | | Also set start to -1 in begin_loop already, so the info that a loop variable is not used is already available at compile-time. | ||||
* | | Drop FREE_ON_RETURN flag, check brk_cont->start instead | Nikita Popov | 2015-05-23 | 1 | -10/+0 |
| | | | | | | | | | | | | | | | | Start >= 0 already tells us whether or not the loop has a loop variable, no need to add extra flags to opcodes. Also added a test for a case where FREE_ON_RETURN is relevant, we didn't seem to have any coverage for this. | ||||
* | | Fix scope_is_known() for class constants | Nikita Popov | 2015-05-21 | 1 | -7/+3 |
| | | | | | | | | | | Here the active_op_array is still the surrounding file, but we do know the scope. | ||||
* | | Merged FE_FETCH_R[W] with the following ASSIGN[_REF] when assigne to CV. | Dmitry Stogov | 2015-05-13 | 1 | -14/+15 |
| | | |||||
* | | Allow self etc in eval / file scope | Nikita Popov | 2015-05-07 | 1 | -0/+5 |
| | | | | | | | | | | | | | | This fixes a regression from 16a9bc1ec20533c76ba992bfc64dd69e7b7d9001. Together with the recent closure related changes this should allow all usages of self etc, while previously (in PHP 5) some things like self::class did not work. | ||||
* | | Fix compiler assumptions about self/etc wrt closures | Nikita Popov | 2015-05-06 | 1 | -7/+37 |
| | | | | | | | | | | | | | | | | | | * Don't throw an error if self/parent/static are used in a closure (outside a class). * Don't propagate self:: constants into closures * Use runtime fetch for self::class in closures Fixes bug #66811. | ||||
* | | Use ZEND_FETCH_CLASS_NAME for dynamic self::class etc | Nikita Popov | 2015-05-05 | 1 | -22/+8 |
|/ | | | | | Extend the opcode to support getting the parent and static name and then use it for dynamic ::class resolution. | ||||
* | Disallow self etc outside classes at compile-time | Nikita Popov | 2015-04-29 | 1 | -31/+36 |
| | | | | | | | Also fix a bug with return types where "self" was rejected inside a class, but not on a method. Fallout: A couple of tests changed to more generic error messages. | ||||
* | Make it inline | Xinchen Hui | 2015-04-28 | 1 | -1/+1 |
| | |||||
* | Drop compile_class_decl return value | Nikita Popov | 2015-04-27 | 1 | -7/+4 |
| | | | | Was introduced for anon classes, but no longer needed. | ||||
* | Pass class_entry through IS_VAR to avoid hash lookup in ZEND_NEW. | Dmitry Stogov | 2015-04-27 | 1 | -2/+2 |
| | |||||
* | Use "safe" anonymous class names. Don't show the mangled names through ↵ | Dmitry Stogov | 2015-04-27 | 1 | -5/+18 |
| | | | | var_dump(). | ||||
* | Refactored using specialized opcodes | Dmitry Stogov | 2015-04-27 | 1 | -21/+28 |
| | |||||
* | Fix implementing_class handling | Nikita Popov | 2015-04-26 | 1 | -2/+5 |
| | |||||
* | More cleanup (mainly retab) | Nikita Popov | 2015-04-26 | 1 | -2/+3 |
| | |||||
* | Don't issue FETCH_CLASS for anon classes | Nikita Popov | 2015-04-26 | 1 | -17/+4 |
| | |||||
* | More retab | Nikita Popov | 2015-04-26 | 1 | -21/+21 |
| | |||||
* | Simply anon class name generation | Nikita Popov | 2015-04-26 | 1 | -28/+9 |
| | | | | Drop dead "parent" code | ||||
* | Retab | Nikita Popov | 2015-04-26 | 1 | -34/+32 |
| | |||||
* | Revert unrelated changes / rebase fixup | Nikita Popov | 2015-04-26 | 1 | -20/+26 |
| | |||||
* | Rebase Joe's anon classes implementation | krakjoe | 2015-04-26 | 1 | -34/+100 |
| | |||||
* | Fix bug #69532 | Nikita Popov | 2015-04-25 | 1 | -1/+2 |
| | | | | Partial revert of ea2fc7f935d2767c127756647f47be8d420346ce. |