Dmitry Stogov
5dd427eac2
Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.
2014-12-03 16:56:09 +03:00
Xinchen Hui
5f80df0dbe
Missed closed folder mark
2014-12-02 22:21:19 +08:00
Julien Pauli
96f2265d58
Merge branch 'PHP-5.6'
...
* PHP-5.6:
updated NEWS
updated NEWS
Fix #65419 - Inside trait, self::class != __CLASS__
Conflicts:
Zend/zend_compile.c
2014-11-28 13:31:53 +01:00
Julien Pauli
b248a7a95c
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
updated NEWS
Fix #65419 - Inside trait, self::class != __CLASS__
2014-11-28 13:26:53 +01:00
Julien Pauli
7c77ca38b1
Fix #65419 - Inside trait, self::class != __CLASS__
2014-11-28 13:24:25 +01:00
Dmitry Stogov
dcfe58773e
Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM().
2014-11-28 11:11:33 +03:00
Dmitry Stogov
109baa0394
Fixed compilation warnings
2014-11-27 12:52:31 +03:00
Dmitry Stogov
216ef32173
Changed "finally" handling. Removed EX(fast_ret) and EX(delayed_exception). Allocate and use additional IS_TMP_VAR slot on VM stack instead.
2014-11-27 09:56:43 +03:00
Dmitry Stogov
303d73ecd2
Reimplemented silence operator (@) handling on exceptions. Now each silence region is stored in op_array->brk_cont_array. On exception ZEND_HANDLE_EXCEPTION handler traverse this array and restore original EG(error_reporting) if exception occured inside a "silence" region.
2014-11-26 22:44:58 +03:00
Dmitry Stogov
1c569b41d5
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Better fix for bug #68446
2014-11-25 18:12:30 +03:00
Dmitry Stogov
e116595e63
Better fix for bug #68446
2014-11-25 18:09:08 +03:00
Dmitry Stogov
83ce1d9a78
Revert "Merge remote-tracking branch 'origin/PHP-5.6'"
...
This reverts commit 38229d13d1
, reversing
changes made to 77f172725a
.
2014-11-25 15:40:08 +03:00
Bob Weinand
aba95c2399
Revert "Fix bug #68446 (bug with constant defaults and type hints)"
...
This reverts commit 5ef138b0c7
.
2014-11-25 12:24:29 +01:00
Bob Weinand
38229d13d1
Merge remote-tracking branch 'origin/PHP-5.6'
...
Conflicts:
Zend/zend_compile.c
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2014-11-23 23:50:47 +01:00
Bob Weinand
5ef138b0c7
Fix bug #68446 (bug with constant defaults and type hints)
2014-11-23 21:10:41 +01:00
Julien Pauli
ab3525c401
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Fix #68185 - Inconsistent insteadof definition
Conflicts:
Zend/zend_compile.c
2014-11-21 15:50:27 +01:00
Julien Pauli
cd3b46f28a
Fix #68185 - Inconsistent insteadof definition
2014-11-21 15:37:33 +01:00
Dmitry Stogov
e20a727430
SEND_VAR_NO_REF optimization
2014-11-18 14:37:36 +03:00
Anatol Belski
09aa419d13
initialiize opline for the case it lands in default case
2014-11-10 23:30:11 +01:00
Xinchen Hui
44bc735a62
convert_to_string also does the check
2014-11-10 23:41:55 +08:00
Xinchen Hui
84cd04fca0
A better fix(do the convertion in compile time)
2014-11-10 23:35:45 +08:00
Anatol Belski
073c5e0997
fix warning not all control paths return a value
2014-10-31 19:36:21 +01:00
Anatol Belski
283947af74
fix datatype mismatches
...
and convert APIs to size_t where zend_string internally used
2014-10-24 20:50:08 +02:00
Dmitry Stogov
6e396961c5
Fixed "instanceof" with undefined classes
2014-10-23 14:50:57 +04:00
Dmitry Stogov
4fd435abab
Embed FETCH_CLASS <string> into the following NEW
2014-10-23 11:52:34 +04:00
Dmitry Stogov
8dedd863bc
Get rid of ZEND_FETCH_MAKE_REF
2014-10-22 21:45:02 +04:00
Dmitry Stogov
534d854fb2
Embed FETCH_CLASS <string> into the following INSTANCEOF
2014-10-22 17:23:43 +04:00
Dmitry Stogov
779ca61e32
Don't use opline->extended_value for FETCH_CLASS flags where it's unnecessary
2014-10-22 17:22:21 +04:00
Dmitry Stogov
fe8577efb1
Optimized ASSIGN_DIM and related opcodes
2014-10-21 19:30:43 +04:00
Nikita Popov
0b09ba84b9
Ensure __LINE__ is always accurate
2014-10-12 20:55:52 +02:00
Nikita Popov
292421d3a1
Fix unused variable warning
2014-10-05 21:58:38 +02:00
Dmitry Stogov
7c7b9184b1
Fixed list() behavior inconsistency (string handling is disabled for all cases, ArrayAccess objects handling is enabled for all cases, ZEND_FETCH_DIM_TMP_VAR opcode is renamed into ZEND_FETCH_LIST, ZEND_FETCH_ADD_LOCK flag is removed).
2014-10-05 13:02:58 +04:00
Dmitry Stogov
ccb24caa6d
Fixed incorrect compilation
2014-10-02 13:37:44 +04:00
Nikita Popov
290d71de75
Drop unused RAISE_ABSTRACT_ERROR opcode
...
Abstract methods are being prevented from being called in DO_FCALL
etc.
2014-09-29 22:50:56 +02:00
Nikita Popov
ab288b01d5
CT substitute unqualified true/false/null in namespaces
...
Substituation now always happens on the resolved name and
unqualified usages of true/false/null in namespaced code are
substituted as well.
2014-09-29 21:18:12 +02:00
Nikita Popov
877eb02fd6
Update operand types for coalesce operator
2014-09-28 12:20:04 +02:00
Andrea Faulds
2d069f640e
Merge branch 'coalesce_operator'
...
* coalesce_operator:
Extended coalesce operator test case for ordering/short-circuiting
Ensure not evaluated twice
Added test
Initial coalesce operator implementation
2014-09-28 00:07:04 +01:00
Nikita Popov
3e042e1f83
Move list() condition into assign_znode
...
The condition in compile_foreach was using ->attr instead of ->kind
and as such never passed. It only worked because assign_znode already
supported this case by indirecting via zend_compile_assign. Now it
implements it with a direct call.
2014-09-24 12:06:18 +02:00
Dmitry Stogov
58a41cf795
Make QM_ASSIGN, JMP_SET and CAST return IS_TMP_VAR.
2014-09-24 01:57:40 +04:00
Nikita Popov
4a221bd881
Drop unused result argument
2014-09-23 21:04:30 +02:00
Nikita Popov
67a5ca6697
Fix ct binding for cuf/cufa functions
...
It was checking against the wrong AST kind, so the binding was
never actually done.
2014-09-23 21:02:32 +02:00
Nikita Popov
9070eb38e9
Fix detection of write to built-in function for references
2014-09-23 20:42:22 +02:00
Nikita Popov
231dcc94e8
Test use of string names with \ prefix
...
And drop piece of dead code
2014-09-23 20:36:00 +02:00
Nikita Popov
182ddfeaf2
Add zend_add_literal_string
...
And simplify additional of special literals based on it.
2014-09-23 20:21:28 +02:00
Nikita Popov
4571271de1
Drop dead code
2014-09-23 19:32:02 +02:00
Dmitry Stogov
06103d65b1
Use zval_ptr_dtor_nogc() to free IS_TMP_VAR operands.
...
Removed ZEND_SWITCH_FREE opcode (ZEND_FREE used instead).
2014-09-23 17:21:29 +04:00
Nikita Popov
75533c9b23
Test a few more error conditions in the compiler
2014-09-23 00:57:00 +02:00
Nikita Popov
51119054ff
Test error conditions for ct class const refs
...
And fix a bug found while doing so...
2014-09-23 00:40:17 +02:00
Nikita Popov
f30f28ec47
Fix list() destructuring to special variables
2014-09-22 18:34:40 +02:00
Nikita Popov
7d4c81d8d9
Fix two memory errors by interning earlier
2014-09-21 23:56:09 +02:00