Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | | 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. | |||||
* | | | Dont't use DO_ICALL for internal functions returned by reference | Dmitry Stogov | 2015-04-24 | 1 | -1/+1 | |
| | | | ||||||
* | | | Slight improvement | Xinchen Hui | 2015-04-23 | 1 | -3/+2 | |
| | | | ||||||
* | | | Fixed compiler warning | Kalle Sommer Nielsen | 2015-04-23 | 1 | -1/+1 | |
| | | | ||||||
* | | | Use fast method to check if first arguments should be passed by reference ↵ | Dmitry Stogov | 2015-04-22 | 1 | -0/+26 | |
| | | | | | | | | | | | | (not tested onbig endian). | |||||
* | | | Move more stuff to file_context | Nikita Popov | 2015-04-21 | 1 | -101/+85 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Introduce helper macro FC(x) for CG(file_context).x. end_compilation() now handled by file_context_end(). While at it, dropped zval wrapper for ticcks. |