#
f48c2327 |
| 01-Dec-2014 |
Guilherme Blanco |
Decoupled class declaration statement into more granular pieces. |
#
ab0b15b8 |
| 26-Dec-2014 |
Dmitry Stogov |
Optimized destruction of extra arguments passed to user functions. If no refcounted arguments are passed, then destruction code is not triggered at all. (Full rebuild required) |
#
fd4844e0 |
| 22-Dec-2014 |
Dmitry Stogov |
Removed useless checks |
#
2646f7bc |
| 22-Dec-2014 |
Dmitry Stogov |
Don't count variadic argument in zend_func.common.num_args. This allows faster CALL/RETURN code. |
#
e8acb9ff |
| 17-Dec-2014 |
Anatol Belski |
Merge remote-tracking branch 'origin/master' into native-tls * origin/master: fix integral constant overflow warning Use HUGE PAGES for opcahce SHM, if available.
|
#
79354ba6 |
| 17-Dec-2014 |
Anatol Belski |
fix integral constant overflow warning as it's promoted to size_t when passed to ZEND_CALL_ARG |
#
e112f6a0 |
| 14-Dec-2014 |
Anatol Belski |
second shot on removing TSRMLS_* |
#
bdeb220f |
| 13-Dec-2014 |
Anatol Belski |
first shot remove TSRMLS_* things |
#
094d409b |
| 22-Nov-2014 |
Guilherme Blanco |
Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before. |
#
14e29f51 |
| 12-Dec-2014 |
Dmitry Stogov |
Reduced size of zend_op on 64-bit systems. the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces
Reduced size of zend_op on 64-bit systems. the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces the size of each opcode from 48 to 32 bytes (saves 16 bytes for each opcode, and applications use thousands of opoceds). This reduced the number of CPU cache misses by 12% and improved performance of real-life apps by 1-2%. The patch affects how constants and jump targets are represented in VM during execution. Previously they were implemented as absolute 64-bit pointers. Now they are relative 32-bit offsets. In run-time constant now should be accessed as: RT_CONSTANT(op_array, opine->op1) instead of opline->op1.zv EX_CONSTANT(opline->op1) instead of opline->op1.zv Jump targets: OP_JMP_ADDR(opline, opline->op2) instead of opline->op2.jmp_addr The patch doesn't change zend_op representation for 32-bit systems. They still use absolute addresses. The compile-time representation is also kept the same.
show more ...
|
#
5dd427ea |
| 03-Dec-2014 |
Dmitry Stogov |
Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*. |
#
dcfe5877 |
| 28-Nov-2014 |
Dmitry Stogov |
Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM(). |
#
1da14c9f |
| 28-Nov-2014 |
Dmitry Stogov |
Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into "call_kind" and VM_FRAME_... into ZEND_CALL_... |
#
11384ba7 |
| 28-Nov-2014 |
Dmitry Stogov |
Pack EX(num_args) into EX(This).u2.num_args |
#
9a36cb1a |
| 28-Nov-2014 |
Dmitry Stogov |
Get rid of EX(scope). In most cases we use EG(scope) anyway. EX(scope) was used to switch EG(scope) back after call, but it's possibleto use EX(func)->common.scope instead. |
#
216ef321 |
| 27-Nov-2014 |
Dmitry Stogov |
Changed "finally" handling. Removed EX(fast_ret) and EX(delayed_exception). Allocate and use additional IS_TMP_VAR slot on VM stack instead. |
#
303d73ec |
| 26-Nov-2014 |
Dmitry Stogov |
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 or
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.
show more ...
|
#
75041379 |
| 06-Nov-2014 |
Dmitry Stogov |
Improved object property access. |
#
8dedd863 |
| 22-Oct-2014 |
Dmitry Stogov |
Get rid of ZEND_FETCH_MAKE_REF |
#
95278779 |
| 16-Oct-2014 |
Dmitry Stogov |
Removed deprecated fields |
#
75b5dc63 |
| 07-Oct-2014 |
Dmitry Stogov |
Reorder fields for better alignment on both 32-bit and 64-bit systems |
#
67be34ec |
| 07-Oct-2014 |
Dmitry Stogov |
Remove useless parts of EX(old_error_reporting) |
#
33e137d4 |
| 07-Oct-2014 |
Dmitry Stogov |
Merged EX(frame_kind) and EX(flags) into single word |
#
7c7b9184 |
| 05-Oct-2014 |
Dmitry Stogov |
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, Z
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).
show more ...
|
#
bd9a2346 |
| 03-Oct-2014 |
Dmitry Stogov |
Replaced EG(This) and EX(object) with EX(This). Internal functions now recieves zend_execute_data as the first argument. |