Dmitry Stogov
bd9a234645
Replaced EG(This) and EX(object) with EX(This).
...
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Dmitry Stogov
5c63a4f72b
Micro optimization for the most frequency case
2014-10-03 12:18:15 +04:00
Dmitry Stogov
8857af8494
Use inline finction for OBJ_RELEASE() macro
2014-10-01 16:35:56 +04:00
Dmitry Stogov
9f7564b12b
Removed zend_execute_data->prev_nested_call. Reuse prev_execute_data instead.
2014-10-01 10:46:13 +04:00
Nikita Popov
67a11b61cd
Drop unused INIT_STRING opcode
...
INIT_STRING has been implemented as an UNUSED op1 to ADD_* for
some time now.
2014-09-29 22:59:57 +02: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
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
Dmitry Stogov
1833ab0230
Use macro
2014-09-25 17:00:17 +04:00
Dmitry Stogov
8b034ec69a
Optimized (PRE|POST)_(INC|DEC) handlers. Moved proxy object handling into helper function.
2014-09-25 13:42:46 +04:00
Dmitry Stogov
8ea2409e44
Fixed immutable arrays support
2014-09-24 15:39:54 +04:00
Dmitry Stogov
73275a55f5
Avoid double checks
2014-09-24 12:20:46 +04:00
Dmitry Stogov
d429e87d18
Removed useless helper
2014-09-23 23:26:39 +04: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
Dmitry Stogov
826abe9d62
Specialization (only IS_VAR ad IS_CV operands may be references)
2014-09-22 16:17:35 +04:00
Dmitry Stogov
a057f060e8
Optimized unset()
2014-09-22 14:41:44 +04:00
Dmitry Stogov
2c8ac3a252
Replace IS_OP?_TMP_FREE() with more clear (OP?_TYPE == IS_TMP_VAR)
2014-09-22 12:47:10 +04:00
Nikita Popov
98891ee118
Simplify foreach flags
...
* 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
2014-09-20 12:56:05 +02:00
Nikita Popov
1027f0d978
Fix leak in foreach with by-ref iteration of ref array
2014-09-20 12:46:05 +02:00
Dmitry Stogov
bccc653185
Avoid double IS_INTERNED() check
2014-09-19 17:32:50 +04:00
Dmitry Stogov
551ee4165b
Use runtime-cache to avoid hash lookups in BIND_GLOBAL instruction
2014-09-17 00:52:45 +04:00
Anatol Belski
65c401672e
redo the fix with cast to size_t
2014-09-16 21:17:22 +02:00
Nikita Popov
69e7c9d89c
Initial coalesce operator implementation
2014-09-16 19:14:46 +01:00
Dmitry Stogov
ca37c02520
code optimization
2014-09-16 13:52:50 +04:00
Dmitry Stogov
d17487f827
We don't have to check for undefined CV if we fetch it for isset() operation
2014-09-16 09:15:47 +04:00
Nikita Popov
079409bbc2
Switch (un)mangle property name to size_t and zend_string
...
Also use the _ex variants where possible.
2014-09-16 00:31:27 +02:00
Dmitry Stogov
6991780793
Optimized FE_RESET and FE_FETCH
2014-09-16 01:34:27 +04:00
Anatol Belski
ea94210e8c
fix most of signed/unsigned warnings in vm def
2014-09-15 19:46:24 +02:00
Dmitry Stogov
8527657ca6
Fixed refcounting for references
2014-09-11 19:12:12 +04:00
Dmitry Stogov
b8c36e199e
Simplify ASSIGN code
2014-09-11 17:00:06 +04:00
Dmitry Stogov
82096dc151
Removed ZEND_QM_ASSIGN_VAR and ZEND_JMP_SET_VAR opcodes (in PHPNG they did exacly the same as ZEND_QM_ASSIGN and ZEND_JMP_SET)
2014-09-11 12:29:54 +04:00
Dmitry Stogov
e85545eca5
Removed IS_STR_OFFSET type and corresponding macros. Optimized string offset handling in ASSIGN_DIM opcode.
2014-09-08 15:46:45 +04:00
Anatol Belski
cfa2b3bf63
fixed string index handling with references
2014-09-07 13:34:18 +02:00
Anatol Belski
acad6f4700
fix 64 bit string index usage
2014-09-07 00:55:36 +02:00
Dmitry Stogov
9a958a086d
Simplify BEGIN_SILENCE/END_SILENCE to not modify ini entry value back and force
2014-09-03 15:17:50 +04:00
Dmitry Stogov
b0f0211b1a
Revert "Fixed memory leaks"
...
This reverts commit 0940e54ffc
.
2014-09-03 02:38:04 +04:00
Dmitry Stogov
0940e54ffc
Fixed memory leaks
2014-09-03 02:07:38 +04:00
Dmitry Stogov
f0ad7472b0
Avoid memory allocation/deallocation in BEGIN_SILENCE/END_SILENCE opcode handlers.
2014-09-02 22:13:24 +04:00
Dmitry Stogov
88d7ca44f6
Refactored INI subsystem to use zend_string* instead of char*
2014-09-01 20:57:33 +04:00
Dmitry Stogov
319ce224d2
LOAD_REGS() is not used anymore
2014-08-28 10:55:16 +04:00
Dmitry Stogov
f2b0370193
Use 'const' qualifier for pointrs to code used at run-time (the code must not be changed)
2014-08-28 02:44:06 +04:00
Dmitry Stogov
b1f53ca415
Use efree_size() instead of efree() where posible
2014-08-27 20:49:56 +04:00
Dmitry Stogov
8ec40397cd
Cleanup IS_VAR handling
2014-08-27 19:10:29 +04:00
Tjerk Meesters
a79b933384
Fixed corruption of execute_data when ZEND_STRLEN has to cast an object to string.
2014-08-27 23:00:11 +08:00
Nikita Popov
d2a3bf9daf
Fix compiler warnings
2014-08-25 23:08:01 +02:00
Nikita Popov
899a1ed59a
Merge branch 'ast'
...
Conflicts:
Zend/zend_compile.c
2014-08-25 22:04:33 +02:00
Nikita Popov
6db293d5e0
Merge remote-tracking branch 'php-src/master' into ast
...
Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_globals.h
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_types.h
2014-08-25 21:52:18 +02:00
Anatol Belski
af59e92b24
master renames phase 7
2014-08-25 21:51:49 +02:00
Anatol Belski
6f9f0bf205
master renames phase 2
2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
6d54e89916
Merge remote-tracking branch 'php/master'
2014-08-20 21:29:49 +02:00