* origin/master:
Fix tests/serialize/bug64146.phpt
Remove zend_dynamic_array
Remove static allocator
Fixed typo
Fix list() destructuring to special variables
Remove php_varname_check
Avoid useless reference counting
Specialization (only IS_VAR ad IS_CV operands may be references)
Optimized unset()
Make error paths to be UNEXPECTED
Replace IS_OP?_TMP_FREE() with more clear (OP?_TYPE == IS_TMP_VAR)
* origin/master: (24 commits)
added a comment
fix the REPARSE_DATA_BUFFER struct def
simplify the condition
Fix two memory errors by interning earlier
Add smart_str_append for appending zend_strings
Rename smart_str_append to smart_str_append_smart_str
Use smart_str for exception stack traces
Use smart_str in get_function_declaration
Move smart_str implementation into Zend/
UPGRADING for Integer Semantics
Fixed bug #66242 (don't assume char is signed)
Fixed bug #67633
Fixed if/else if ordering
Use SIZEOF_ZEND_LONG instead of SIZEOF_LONG
Use zend_ polyfilled nan/finite, check finite
Updated 32-bit << test
Updated << 64-bit tests
Prevent bit shift count wrapping quirkiness on some CPUs for left shift
Cast NaN and Infinity to zero
Updated >> 64-bit tests
...
* FE_RESET_VARIABLE and FE_RESET_REFERENCE were always set
together.
* In some places the code checked FE_FETCH_BYREF instead of
FE_RESET_REFERENCE and relied on them having the same value.
* Now the FE_RESET_* flags are dropped and everything uses
FE_FETCH_BYREF
This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not really related to compilation.
Now one common stack to handle both, which stores znodes instead of
full oplines (foreach copy stack) or switch entries (switch cond
stack).
Also removed EG(start_op) while at it.
This removes the need to use $<ast>{n} or $<list>$ casts in the
reduction actions.
Keeping the distinction in the parser doesn't really give us any
benefit and only makes changing the grammar harder.
As far as I can discern these are leftovers of the interactive
shell implementation that was used before PHP 5.4. Now the readline
ext makes use of normal eval calls for this.
So, dropping these until there is evidence to the contrary, as they
currently wouldn't work anyway.