Dmitry Stogov
702a2dfb3e
Merge branch 'PHP-5.6'
...
* PHP-5.6:
We can't eliminate FETCH_CONSTANT opcodes for constants represented by AST.
Conflicts:
ext/opcache/Optimizer/pass1_5.c
2014-10-13 14:10:44 +04:00
Dmitry Stogov
7acba332fe
We can't eliminate FETCH_CONSTANT opcodes for constants represented by AST.
2014-10-13 14:07:37 +04: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
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
5bd34be604
Opcache compatibility for coalesce operator
2014-09-28 12:31:52 +02:00
Dmitry Stogov
bd76544e15
Fixed optimizer bug
2014-09-26 01:37:33 +04:00
Dmitry Stogov
58a41cf795
Make QM_ASSIGN, JMP_SET and CAST return IS_TMP_VAR.
2014-09-24 01:57:40 +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
d244d3bbf1
Fixed typo
2014-09-23 01:04:47 +04:00
Dmitry Stogov
3bc8a958c5
Fixed useless or duplicated IS_INTERNED() checks
2014-09-19 15:41:01 +04:00
Dmitry Stogov
551ee4165b
Use runtime-cache to avoid hash lookups in BIND_GLOBAL instruction
2014-09-17 00:52:45 +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
5c897aa7da
Preallocate hash tables of required size
2014-09-03 18:21:36 +04:00
Dmitry Stogov
3447d465af
Use better hash functions
2014-08-28 17:47:40 +04:00
Dmitry Stogov
234af84c04
Refactored optimizer (compile different opimizer passes separately, instead of including *.c file)
2014-08-28 17:23:12 +04:00
Dmitry Stogov
ee552b628c
Reorder fields for better nenory consumtion and data locality on 64-bit systems
2014-08-27 22:45:27 +04:00
Dmitry Stogov
614bc31635
Fixed incorrect ZEND_INIT_FCALL_BY_NAME -> ZEND_INIT_FCALL conversion
2014-08-27 01:39:39 +04:00
Dmitry Stogov
055b632e7d
Fixed return operand type (Use IS_TMP_VAR instead of IS_VAR in the same way as it was before AST patch)
2014-08-26 14:22:03 +04:00
Nikita Popov
59848e3fbb
Remove ZEND_ACC_INTERACTIVE and CG(interactive)
...
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.
2014-08-25 23:46:43 +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
476bdbf85b
ported opcache
2014-08-20 00:23:37 +02:00
Anatol Belski
63d3f0b844
basic macro replacements, all at once
2014-08-19 08:07:31 +02:00
Nikita Popov
904a83a137
Merge remote-tracking branch 'php-src/master' into ast
...
Conflicts:
ext/opcache/Optimizer/optimize_func_calls.c
2014-08-16 22:31:13 +02:00
Nikita Popov
71675a4bf8
Merge remote-tracking branch 'php-src/phpng' into ast
...
Conflicts:
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_language_parser.y
Incomplete merge!
2014-08-16 21:55:08 +02:00
Nikita Popov
f72d6f97ec
ZEND_INIT_FCALL_BY_NAME can have non-string literal
2014-08-15 22:55:15 +02:00
Nikita Popov
99878ced15
ZEND_STRLEN and ZEND_DEFINED have IS_VAR results for now
...
This avoids issues with calls being expected to have an IS_VAR
result
2014-08-15 22:07:46 +02:00
Xinchen Hui
101c055396
Add copyright header
2014-08-15 16:47:54 +08:00
Xinchen Hui
e2522b4f1d
Remove old version PHP supports
2014-08-15 16:40:07 +08:00
krakjoe
dc70139d85
update zend_make_printable_zval to take TSRM context
2014-08-11 06:09:46 +01:00
Dmitry Stogov
ce1af1e47b
Fixed bug #67725 (now we create immutable arrays only in SHM)
2014-08-05 15:38:43 +04:00
Dmitry Stogov
af7cb16907
Implemented builtin instruction for strlen()
2014-07-14 15:43:11 +04:00
Dmitry Stogov
6c8db864e0
Implemented builtin instruction for strlen()
2014-07-11 18:52:27 +04:00
Dmitry Stogov
de306e7088
Implement call_user_func() and call_user_func_array() using special opcodes.
...
In some rare cases it leads to insignificant changes in error messages.
2014-07-11 00:32:18 +04:00
Dmitry Stogov
9d6e45a0ee
Changed zend_make_printable_zval() to return "use_copy" instead of additional reference argument.
...
Improved branch prediction.
2014-07-09 16:05:55 +04:00
Dmitry Stogov
b36aaea6ed
ZEND_SEND_VAR and ZEND_SEND_VAL specialization
2014-07-08 02:13:53 +04:00
Dmitry Stogov
0a77dcd4b9
Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.
2014-07-03 01:02:25 +04:00
Dmitry Stogov
4b09dd69e6
Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
2014-07-02 22:03:21 +04:00
Dmitry Stogov
43477bc7a2
Refactoring: use call_frames instead of call_slots
2014-06-24 02:17:16 +04:00
Dmitry Stogov
87b667221e
Code cleanup
2014-06-20 19:40:03 +04:00
Dmitry Stogov
a4f38192ec
Use arena allocator for optimizer temporary data structures
2014-06-18 17:09:37 +04:00
Dmitry Stogov
14e6ee7f42
Use absolute addresses as branch targets for NEW, FE_RESET and FE_FETCH
2014-06-11 11:39:42 +04:00
Dmitry Stogov
3f6f0d5a70
Simplified and optimized ZEND_HANDLE_NUMERIC()
2014-06-03 13:10:42 +04:00
Dmitry Stogov
b3b616cf7e
Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM.
2014-05-29 18:21:56 +04:00
Dmitry Stogov
9dd66e4d53
Merge branch 'master' into phpng
...
* master:
Fixed issue #183 (TMP_VAR is not only used once)
Fix broken Junit output with --disable-cgi
Added folder mark
Further test fixes for the fdb2709
breakage.
Fix broken test caused by fdb2709
.
Added tests for ZipArchive::addGlob() and ZipArchive::addPattern()
Fix run-tests.php with Valgrind >= 3.10.0.
Add microseconds to the serialised form of DateTime objects.
Improved test for bug #62479
fix typo in ODBC code
gcov: tentative fix for broken coverage data after fix for opcache coverage slightly hackish, but works. The idea is that we want to give priority to .gcda files in .libs dirs vs the files in the upper level dir
5.5.14 now
Fix bug #67060 : use default mode of 660
Conflicts:
ext/date/php_date.c
2014-05-26 10:52:43 +04:00
Dmitry Stogov
347b430a03
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Fixed issue #183 (TMP_VAR is not only used once)
2014-05-26 10:12:36 +04:00
Dmitry Stogov
24a86dbb6f
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Fixed issue #183 (TMP_VAR is not only used once)
2014-05-26 10:12:10 +04:00