summaryrefslogtreecommitdiff
path: root/ext/opcache
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-12-171-0/+16
|\ | | | | | | | | | | * origin/master: fix integral constant overflow warning Use HUGE PAGES for opcahce SHM, if available.
| * Use HUGE PAGES for opcahce SHM, if available.Dmitry Stogov2014-12-171-0/+16
| |
* | second shot on removing TSRMLS_*Anatol Belski2014-12-141-2/+2
| |
* | first shot remove TSRMLS_* thingsAnatol Belski2014-12-1323-504/+490
| |
* | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-12-124-23/+19
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: updated NEWS PowerPC64 support for add and sub with overflow check PowerPC64 support for operators with overflow check Fixed bug #68583 Crash in timeout thread Reduced size of zend_op on 64-bit systems. Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline->op1.num to avoid its recalculation on each execution. Removed unused variables Improved array_merge() and array_replace() (1-st array may be added using simple procedure). Replaced zendi_convert_to_long() with _zval_get_long_func() Moved zend_is_true() from zend_execute.h/zend_execute_API.c into zend_operators.h/zend_operators.c. Splited the most expensive part of inline i_zend_is_true() into a separate zend_object_is_true(). Replaced zendi_convert_to_long() with cals to zend_is_true(). Revert "Save one xor instr" Save one xor instr Conflicts: Zend/zend_execute_API.c
| * Reduced size of zend_op on 64-bit systems.Dmitry Stogov2014-12-123-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in ↵Dmitry Stogov2014-12-121-11/+2
| | | | | | | | opline->op1.num to avoid its recalculation on each execution.
* | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-12-054-11/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (111 commits) Fix zend_fcall_info_arg*() to use ZVAL_COPY Fixed #65213 - cannot cast SplFileInfo to boolean add initial install switch to C travis project instead of PHP use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/) fix TS build add config option to target codegen architectures updated NEWS updated NEWS Fixed bug #55541 errors spawn MessageBox, which blocks test automation Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same). Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*. Fixed __debugInfo() support Update UPGRADING for the new variadic functions, and re-sort. Improved POST INC/DEC make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path Missed closed folder mark Revert "Unecessary assignment" Fixed improper memory release Unecessary assignment ...
| * Use zend_string* for op_array->arg_info[]->name and ↵Dmitry Stogov2014-12-032-8/+4
| | | | | | | | op_array->arg_info[]->class_name. For internal functions we still use char*.
| * Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ↵Dmitry Stogov2014-11-282-3/+3
| | | | | | | | ZEND_CALL_VAR_NUM().
* | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-11-271-2/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: updated NEWS refactored the mbstring config.w32 Update NEWS Fixed compilation warnings Fixed bug #68504 --with-libmbfl configure option not present on Windows Changed "finally" handling. Removed EX(fast_ret) and EX(delayed_exception). Allocate and use additional IS_TMP_VAR slot on VM stack instead. the darwin specific test fails for me with the same output which is the expected for the original test I couldn't find anybody who managed to see this test passing, but I found a bunch of other reports on qa.php.net/reports and on google which do see this test failing on mac. if this change causes you to have this test failing on Mac, please drop me a mail so we can improve the current test so it passes for everybody. #68446 is fixed 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. remove the NEWS entries for the reverted stuff typo fix go back with phpdbg to the state of 5.6.3, reverting the controversial commits(remote debugging/xml protocol) 5.5.21 now New label length test Fix ext/filter/tests/033.phpt Fix filter_list test FILTER_VALIDATE_DOMAIN and RFC conformance for FILTER_VALIDATE_URL Conflicts: ext/mbstring/config.w32
| * Reimplemented silence operator (@) handling on exceptions. Now each silence ↵Dmitry Stogov2014-11-261-2/+4
| | | | | | | | 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.
* | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-11-261-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (102 commits) fix dir separator in test fix TS build fix TS build Better fix for bug #68446 Revert "Merge remote-tracking branch 'origin/PHP-5.6'" Revert NEWS and set test to XFAIL Revert "Fix bug #68446 (bug with constant defaults and type hints)" Improved zend_hash_clean() and added new optimized zend_symtable_clean() Use inline version of zval_ptr_dtor() Added new optimized zend_array_destroy() function Moved i_zval_ptr_dtor() from zend_execute.h to zend_variables.h fix REGISTER_NS_*_CONSTANT macros Removed useless assert. EG(uninitialized_zval) can't be refcounted. Use specialized destructors when types of zvals are known. move tests into proper place Improved assignment to object property Reuse zend_assign_to_variable() in zend_std_write_property() cleanup comments from svn/cvs era fix dir separator in test fork test for windows ...
| * Merge branch 'pull-request/819'Stanislav Malyshev2014-11-231-2/+2
| |\ | | | | | | | | | | | | * pull-request/819: Indention fix
| | * Indention fixReeze Xia2014-09-141-2/+2
| | | | | | | | | indent with tab instead of spaces
* | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-11-201-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (36 commits) NEWS adapt test for error message introduce in fix for #68463 Fix bug #68463 listen.allowed_clients can silently result in no allowed access run a few request in this test fix test fix test added info about some other macro changes added note about toolset and phpize added note about the response files split msgfmt_format_intlcalendar_variant*.phpt for ICU 54.1 split formatter_format*.phpt for ICP 54.1 split dateformat_timezone_arg_variations*.phpt for ICU 54.1 split dateformat_get_set_timezone_variant*.phpt for ICU 54.1 fix icu version to test split ext/intl/tests/dateformat_get_set_calendar_variant*.phpt for 54.1 split dateformat_formatObject_datetime_variant*.phpt for ICU 54.1 split dateformat_formatObject_calendar_variant*.phpt for ICU 54.1 split dateformat_create_cal_arg_variant2.phpt for ICU 53.1 and 54.1 clone dateformat_calendars_variant3.phpt for ICU 54.1 split collator_get_sort_key_variant3.phpt for icu 54.1 ...
| * | typo fixes - https://github.com/vlajos/misspell_fixerVeres Lajos2014-11-191-1/+1
| | |
* | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-11-188-85/+193
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (398 commits) NEWS add test for bug #68381 Fixed bug #68381 Set FPM log level earlier during init proper dllexport move to size_t where zend_string is used internally fix some datatype mismatches return after the warning, to fix uninitialized salt usage fix datatype mismatches add missing type specifier fix datatype mismatches fix unsigned check "extern" shouldn't be used for definitions joined identical conditional blocks simplify fpm tests SEND_VAR_NO_REF optimization Add test for bug #68442 Add various tests for FPM - covering recent bugs (68420, 68421, 68423, 68428) - for UDS - for ping and status URI - for multi pool and multi mode Include small MIT FastCGI client library from https://github.com/adoy/PHP-FastCGI-Client Get rid of zend_free_op structure (use zval* instead). Get rid of useless TSRMLS arguments. Add new FPM test for IPv4/IPv6 ... Conflicts: win32/build/config.w32
| * | SEND_VAR_NO_REF optimizationDmitry Stogov2014-11-182-2/+8
| | |
| * | Merge branch 'PHP-5.6'Dmitry Stogov2014-11-072-15/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.6: Fix opcache.revalidate_freq per-request behavior Conflicts: ext/opcache/ZendAccelerator.h
| | * \ Merge branch 'PHP-5.5' into PHP-5.6Dmitry Stogov2014-11-072-15/+3
| | |\ \ | | | | | | | | | | | | | | | | | | | | * PHP-5.5: Fix opcache.revalidate_freq per-request behavior
| | | * | Fix opcache.revalidate_freq per-request behaviorDmitry Stogov2014-11-072-15/+3
| | | | |
| * | | | Merge branch 'PHP-5.6'Xinchen Hui2014-11-011-0/+2
| |\ \ \ \ | | |/ / /
| | * | | Add creditXinchen Hui2014-11-011-0/+2
| | | | |
| * | | | Merge branch 'PHP-5.6'Xinchen Hui2014-10-311-0/+17
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | Conflicts: Zend/zend_API.c
| | * | | Merge branch 'PHP-5.6' of https://git.php.net/repository/php-src into PHP-5.6Xinchen Hui2014-10-311-1/+5
| | |\ \ \
| | * | | | Fixed Bug #68104 (Segfault while pre-evaluating a disabled function)Xinchen Hui2014-10-311-0/+13
| | |/ / /
| * | | | Use DECLARE_CONST instruction instead of call to internal define() function ↵Dmitry Stogov2014-10-301-3/+21
| | | | | | | | | | | | | | | | | | | | when possible
| * | | | Added constant expression evaluation for "dirname(__FILE__)".Dmitry Stogov2014-10-301-66/+123
| | | | | | | | | | | | | | | | | | | | Improved constant expression evaluation for function calls
| * | | | Fixed bug #68252 (segfault in Zend/zend_hash.c in function _zend_hash_del_el)Xinchen Hui2014-10-281-0/+20
| | | | | | | | | | | | | | | | | | | | Don't leave a UNDEF gap in function_table
| * | | | Fix off-by-one hereRasmus Lerdorf2014-10-261-1/+1
| | | | |
* | | | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-10-246-64/+9
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (214 commits) fix datatype mismatch warnings fix datatype mismatches fix datatype mismatches fix datatype mismatches fix datatype mismatch warnings fix datatype mismatch warnings fix datatype mismatch warnings fix datatype mismatch warning fix datatype mismatches fix datatype mismatch warnings Re-add phpdbg to travis Added some NEWS Make xml valid (missing space between attrs) Fix info classes file name in xml Add note about <eval> tag for errors in xml.md Name the tag <eval> if the error id during ev cmd Do not print out xml as PHP print... Fix output to wrong function Fixed parameter order on %.*s Too much copypaste... ...
| * | | | Embed FETCH_CLASS <string> into the following NEWDmitry Stogov2014-10-232-0/+6
| | | | |
| * | | | Removed useless codeDmitry Stogov2014-10-223-63/+0
| | | | |
| * | | | Embed FETCH_CLASS <string> into the following INSTANCEOFDmitry Stogov2014-10-222-0/+2
| | | | |
| * | | | Removed old irrelevant commentDmitry Stogov2014-10-201-1/+1
| | | | |
* | | | | opcache, intl, gmp, exif, com, bcmath to use static tsrmlsAnatol Belski2014-10-174-3/+12
| | | | |
* | | | | bring back all the TSRMLS_FETCH() stuffAnatol Belski2014-10-156-0/+18
| | | | | | | | | | | | | | | | | | | | for better comparability with the mainstream
* | | | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-10-131-0/+6
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: We can't eliminate FETCH_CONSTANT opcodes for constants represented by AST. Ensure __LINE__ is always accurate Fix incdec of referenced properties Fix ::jsonSerialize() failure message Fix invalid zend_string_frees in reflection Remove retval member in spl_dllist DLL export several APIs needed for phpdbg More fixes for nodelist array access - testing for null property read - no zval copying if the type is already long - memory fix for master
| * | | | Merge branch 'PHP-5.6'Dmitry Stogov2014-10-131-0/+6
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PHP-5.6: We can't eliminate FETCH_CONSTANT opcodes for constants represented by AST. Conflicts: ext/opcache/Optimizer/pass1_5.c
| | * | | We can't eliminate FETCH_CONSTANT opcodes for constants represented by AST.Dmitry Stogov2014-10-131-0/+6
| | | | |
* | | | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-10-106-80/+95
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (40 commits) int to size_t where the underlaying API supports it use php_socket_t instead of int fix signed/unsigned mismatch warning fix compilation warning Improved specialisation $this variable accessed through IS_UNUSED operand must be IS_OBJECT, so we don't have to check for its type or perform dereference. Add notes about get_class_entry/get_class_name to UPGRADING Fix casts in GD Drop redundant casting code from ext/filter update NEWS update NEWS update NEWS update NEWS Added note to UPGRADING regarding 64-bit support in pack()/unpack() pack(): Use SIZEOF_ZEND_LONG instead of SIZEOF_LONG Add 64 bit formats to pack() and unpack() Help to CPU branch predictor Removed unused EG(orig_error_reporting) Update get_class_name semantics Remove Z_OBJ_CLASS_NAME_P Improved VM stack primitives for fast paths. Slow paths are not inlined anymore. ...
| * | | | Copy all the arena allocated data from SHM to process memory at onceDmitry Stogov2014-10-096-80/+95
| | | | |
* | | | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-10-052-2/+2
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: properly export tsrm_strtok_r() 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). Fix accidental edit in previous commit Fix arginfo DateTimeZone::getOffset() now accepts a DateTimeInterface DateTimeZone::getOffset() now accepts a DateTimeInterface Moved checks and error reporting related to static methods from DO_FCALL inti INTI_FCALL* opcodes that may really deal with static methods. (In some rare cases it may lead to different order of warning messages). Fixed a bug that causes crash when environment variable is access while parsing php.ini Fixed a bug that causes crash when environment variable is access while parsing php.ini
| * | | | Fixed list() behavior inconsistency (string handling is disabled for all ↵Dmitry Stogov2014-10-052-2/+2
| | | | | | | | | | | | | | | | | | | | 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).
* | | | | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-10-016-36/+8
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (26 commits) Micro optimization Drop unused INIT_STRING opcode Drop unused RAISE_ABSTRACT_ERROR opcode CT substitute unqualified true/false/null in namespaces Fix a couple compile warnings fix test filename one more test to illustrate transfer of an arbitrary data amount throug pipes fix tests on linux better test cleanup Use more readable inline functions increase the polling period to not to break existing behaviours updated NEWS Fixed bug #51800 proc_open on Windows hangs forever Fixed segfault Set an LDAP error code when failing ldap_bind due to null bytes Fix segmentation fault in debug_backtrace() Drop support for GMP 4.1 Make gmp_setbit and gmp_clrbit return values consistent removed *.dsw and *.dsp files Opcache compatibility for coalesce operator ...
| * | | | Drop unused INIT_STRING opcodeNikita Popov2014-09-291-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | INIT_STRING has been implemented as an UNUSED op1 to ADD_* for some time now.
| * | | | Opcache compatibility for coalesce operatorNikita Popov2014-09-286-0/+8
| | | | |
* | | | | cleanup TSRMLS_FETCH in ext/opcacheAnatol Belski2014-09-266-18/+0
|/ / / /
* | | | Fixed optimizer bugDmitry Stogov2014-09-261-1/+1
| | | |