Commit Graph

415 Commits

Author SHA1 Message Date
Dmitry Stogov
8026001943 Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF) 2015-05-07 12:14:14 +03:00
Dmitry Stogov
94245bc14c Refactored using specialized opcodes 2015-04-27 12:24:39 +03:00
Dmitry Stogov
ca76a86fe6 Removed deprecated code 2015-04-21 11:48:43 +03:00
Xinchen Hui
5c31c8c6e5 Fixed is_callable/function_exists with disable_functions 2015-03-28 17:07:11 +08:00
Xinchen Hui
e60b380c55 Merge branch 'bug69315' of https://github.com/laruence/php-src 2015-03-28 14:10:41 +08:00
Xinchen Hui
84d9426730 Fixed bug #69315 2015-03-27 17:50:36 +08:00
Xinchen Hui
6aaee5fc14 Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/Optimizer/pass1_5.c
2015-03-25 23:35:56 +08:00
Xinchen Hui
d380d1cb1b Fixed Bug #69297 (function_exists strange behavior with OPCache on disabled function)
is_callable returns true for disable_functions, but function_exists
return false for it.
2015-03-25 23:34:02 +08:00
Xinchen Hui
e46e9a3d22 Fixed Bug #69297 (function_exists strange behavior with OPCache on disabled function)
is_callable returns true for disable_functions, but function_exists
return false for it.
2015-03-25 23:29:18 +08:00
Dmitry Stogov
e37e9d2986 Reverted part committed by mistake 2015-03-24 22:56:07 +03:00
Dmitry Stogov
23c33b1483 Optimized strings concatenation.
ZEND_ADD_STRING/VAR/CHAR are replaced with ZEND_ROPE_INTI, ZEND_ROPE_ADD, ZEND_ROPE_END.
Instead of reallocation and copying string on each ZEND_ADD_STRING/VAR/CAHR, collect all the strings and then allocate and construct the resulting string once.
2015-03-24 22:47:21 +03:00
Dmitry Stogov
0a6bb2dfd4 Fixed optimization patterns 2015-03-20 05:24:04 +03:00
Dmitry Stogov
d146d15003 Optimize zend_string_realloc() add more specialized versions zend_string_extend() and zend_string_truncate() 2015-03-20 02:02:42 +03:00
Dmitry Stogov
db10b72523 Use fastcall calling convention for most critical ZE subsystems. 2015-03-13 21:10:09 +03:00
Dmitry Stogov
6289f7e52f Executor cleanup: fix GOTO and SWITCH VMs, remove aility to build additional PHP-5.0 compatible VM, hide executor implementation details. 2015-03-12 20:39:04 +03:00
Xinchen Hui
ec00a4de4e Merge branch 'PHP-5.6' 2015-03-04 14:49:03 +08:00
Xinchen Hui
a29b64fc10 Fixed bug #69159 (Opcache causes problem when passing a variable variable to a function) 2015-03-04 14:48:41 +08:00
Dmitry Stogov
9a20323e19 Improved assert() according to expectations RFC.
See https://wiki.php.net/rfc/expectations

Squashed commit of the following:

commit 3f3651a787
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Mar 2 11:56:33 2015 +0300

    opcode 137 is used for ZEND_OP_DATA and con't be reused for ZEND_ASSERT_CHECK

commit ca8ecabf2a
Merge: 24328ac 9dac923
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Mar 2 10:49:23 2015 +0300

    Merge branch 'master' into assert

    * master:
      Update NEWS
      Fixed bug #69139 (Crash in gc_zval_possible_root on unserialize)
      windows only test
      Align entries format
      Align entries format for 5.6.7
      Align entries format for 5.5.23
      Bump header year
      Fixed bug #69144 (strtr not replacing with partly matching replace pairs)
      Fixed test?
      Revert mktime()/gmmktime()'s arginfo
      Update NEWS
      Fixed bug #69141 Missing arguments in reflection info for some builtin functions
      Add NEWS entry
      Remove useless date warning
      Fix ARG_INFO for levenshtein
      Fix ARG_INFO for levenshtein
      fix dir separator in tests
      Update NEWS
      Fixed bug #69085 (SoapClient's __call() type confusion through unserialize()).

commit 24328ac03f
Merge: 021fd94 1cdee9a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Feb 27 15:57:13 2015 +0300

    Merge branch 'master' into assert

    * master:
      Fixed C++ support
      Fixed bug #69115 crash in mail
      Reorder
      Update NEWs
      Fixed bug #69121 (Segfault in get_current_user when script owner is not in passwd with ZTS build)
      Update News
      Fixed bug #69125 (Array numeric string as key)
      fix bug#68942's patch
      Fixed ability to build unspecialized executor
      Fixed bug #69124 (method name could not be used when by ref)
      Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
      Fixed a bug that header value is not terminated by '\0' when accessed through getenv().

commit 021fd94ed1
Merge: 49963eb ace1f82
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Feb 26 11:26:03 2015 +0300

    Merge branch 'master' into assert

    * master: (59 commits)
      Improved ASSIGN_DIM handler
      Don't inline slow path
      Revert a part committted by mistake
      Fixed compilation warnings
      Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
      better name
      Improve fix for #69038
      Update NEWs
      Fixed bug #69108 ("Segmentation fault" when (de)serializing SplObjectStorage)
      Added specialized versions of DO_FCALL handler:   DO_ICALL - for internal functions   DO_UCALL - for user functions   DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
      Use cache_slot offsets instead of indexes (simplify run-time instructions)
      Split INIT_FCALL_BY_NAME inti INIT_FCALL_BY_NAME(CONST+STRING) and INIT_DYNAMIC_CALL(CONST-STRING|TMPVAR|CV)
      Support list($a, $b) = $a
      Avoid unnecassary check
      Make zend_array_destroy() to free the corresponding zend_array
      Eliminate check on the fast path
      Make current() and key() receive argument by value.
      Use Firebird default home folder, replace Interbase with Firebird
      Updated NEWS
      updated NEWS
      ...

    Conflicts:
    	Zend/zend_vm_execute.h
    	Zend/zend_vm_opcodes.c
    	Zend/zend_vm_opcodes.h

commit 49963ebf9d
Merge: 07b1f92 6b77959
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Feb 19 11:13:08 2015 +0300

    Merge branch 'master' into assert

    * master:
      Implemented AST pretty-printer
      update NEWS to match the actual stuff in 5.6.6
      update NEWS to match the actual stuff in 5.5.22
      update NEWS(add missing entry for the enchant fix, and reorder the entries a bit)
      fix typo in bug#
      update NEWS
      fix email format
      update NEWS
      update 5.6.6 release date in NEWS
      Fix bug #69033 (Request may get env. variables from previous requests if PHP works as FastCGI)
      BFN
      fix test
      fix test
      fix test
      Fixed bug #65593 (Segfault when calling ob_start from output buffering callback)
      Updated NEWS
      add CVE
      5.4.39 next
      Fix associativity to match Perl
      Blast off to space.

    Conflicts:
    	Zend/zend_ast.c

commit 07b1f92ed6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 23:06:32 2015 +0300

    fixed pretty-printer (support for "elseif")

commit 5a976c8d85
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 19:50:08 2015 +0300

    Fixed vaeious ptetty-printer issues

commit 69491e8e8e
Merge: 8473157 3ddc246
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 10:18:32 2015 +0300

    Merge branch 'master' into assert

    * master:
      Set PHP_JSON_VERSION to 1.4.0
      Remove unnecessary resource checks in openssl ext
      JSON is now maintained

commit 8473157fbb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 10:17:26 2015 +0300

    Fixed typo and white spaces

commit 96de5ffc8d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 00:28:39 2015 +0300

    Fixed assert() in namesapaces

commit 5eba069c28
Merge: 4a2d9c0 d428bf2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Feb 17 22:45:55 2015 +0300

    Merge branch 'master' into assert

    * master: (25 commits)
      improve debugability in TS debug builds
      More UPGRADING, in particular on foreach
      Fixed bug #69038 (switch(SOMECONSTANT) misbehaves) for master
      Replace var is introduced
      abstain from using xmlCleanupParser
      fix TS build
      Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
      update news
      Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
      Port for for bug #68552
      Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
      Update NEWS
      Fixed bug #69038 (switch(SOMECONSTANT) misbehaves)
      - BFN
      Don't read the local php.ini when Generating Phar When building phar shared, you can end up loading a previous phar.so that isn't compatible with the php cli being used to generate Phar here.
      - Fixed bug #67827 (broken detection of system crypt sha256/sha512 support)
      Delete json outdated package.xml
      made ZEND_TSRMLS_CACHE_* macros look like function calls
      - Fix merge
      - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
      ...

commit 4a2d9c0953
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Feb 17 22:45:10 2015 +0300

    Implemented AST pretty-printer to capture expression passed to assert()

commit 7a059b66d5
Merge: 9973df7 3892eba
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Feb 16 18:42:28 2015 +0300

    Merge branch 'expect' of github.com:krakjoe/php-src into assert

    * 'expect' of github.com:krakjoe/php-src:
      import expect

    Conflicts:
    	Zend/zend_compile.c
    	Zend/zend_execute_API.c
    	Zend/zend_globals.h
    	Zend/zend_vm_def.h
    	Zend/zend_vm_execute.h
    	Zend/zend_vm_opcodes.c
    	Zend/zend_vm_opcodes.h
    	ext/opcache/Optimizer/block_pass.c
    	ext/opcache/Optimizer/pass1_5.c
    	ext/standard/assert.c
    	ext/standard/tests/assert/assert_error3.phpt

commit 3892eba2bf
Author: krakjoe <joe.watkins@live.co.uk>
Date:   Sun Feb 2 12:49:35 2014 +0000

    import expect
2015-03-02 12:25:40 +03:00
Xinchen Hui
a8927cd647 Merge branch 'PHP-5.6' 2015-02-27 11:43:49 +08:00
Xinchen Hui
cfaf7c3b5f Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 11:42:57 +08:00
Xinchen Hui
3e82816ba1 Fixed bug #69125 (Array numeric string as key) 2015-02-27 11:42:36 +08:00
Xinchen Hui
34d397e267 better name 2015-02-25 20:49:07 +08:00
Xinchen Hui
60f18026eb Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/Optimizer/zend_optimizer.c
2015-02-25 20:16:15 +08:00
Xinchen Hui
d3615b5fb1 Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	ext/opcache/tests/bug69038.phpt
2015-02-25 20:13:47 +08:00
Xinchen Hui
d508ff9640 Improve fix for #69038 2015-02-25 20:07:02 +08:00
Dmitry Stogov
c2c78dc963 Added specialized versions of DO_FCALL handler:
DO_ICALL - for internal functions
  DO_UCALL - for user functions
  DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
2015-02-25 10:37:21 +03:00
Dmitry Stogov
5f278e4d3a Use cache_slot offsets instead of indexes (simplify run-time instructions) 2015-02-25 01:52:35 +03:00
Dmitry Stogov
dcb96c2e03 Split INIT_FCALL_BY_NAME inti INIT_FCALL_BY_NAME(CONST+STRING) and INIT_DYNAMIC_CALL(CONST-STRING|TMPVAR|CV) 2015-02-24 22:29:47 +03:00
Xinchen Hui
7299d43536 Fixed bug #69038 (switch(SOMECONSTANT) misbehaves) for master 2015-02-17 22:05:57 +08:00
Xinchen Hui
e22759b1e5 Replace var is introduced 2015-02-17 21:16:37 +08:00
Xinchen Hui
1c0fa36c61 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-17 11:36:15 +08:00
Xinchen Hui
66d3095993 Fixed bug #69038 (switch(SOMECONSTANT) misbehaves) 2015-02-17 11:34:57 +08:00
Dmitry Stogov
97fe15db43 Fix "forech" statemt behaviour according to https://wiki.php.net/rfc/php7_foreach
Squashed commit of the following:

commit 1e41295097
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Sat Jan 31 07:28:58 2015 +0300

    Generalize HashTableIterator API to allows its usage without involvement of HashTable.nInternalPonter

commit 5406f21b11
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 18:08:43 2015 +0300

    Reduced alghorithms complexity

commit b37f1d58d2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 18:08:30 2015 +0300

    Fixed test name

commit fb2d079645
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 18:08:05 2015 +0300

    API cleanup

commit 08302c0d6d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 14:20:46 2015 +0300

    Make array_splice() to preserve foreach hash position

commit cc4b7be41e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 12:24:31 2015 +0300

    Make internal function, operation on array passed by reference, to preserve foreach hash position

commit 5aa9712b0a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 09:49:35 2015 +0300

    Implement consistent behavior for foreach by value over plain object

commit 4c5b385ff5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 07:56:37 2015 +0300

    More careful iterators update.

commit 721fc9e80d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jan 29 21:43:28 2015 +0300

    Added new test

commit 15a23b1218
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jan 29 21:05:02 2015 +0300

    Reimplement iteration magic with HashTableIterators (see https://wiki.php.net/rfc/php7_foreach#implementation_details)

commit 10a3260b1f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jan 29 21:04:44 2015 +0300

    New test

commit eef80c5837
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 16:52:21 2015 +0300

    Fixed foreach by reference iteration over constant array

commit 61e7391873
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 14:59:54 2015 +0300

    Fixed temporary variable re-allocation pass

commit 92e90c09f0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 12:44:57 2015 +0300

    Fixed operand destruction in case of exceptions in iterator

commit dd2a36a207
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 10:02:34 2015 +0300

    Use GET_OP1_ZVAL_PTR_DEREF() (IS_TMP_VAR and IS_CONST can't be IS_REFERENCE)

commit 4638f7b914
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 07:43:28 2015 +0300

    Change "foreach" statement behavior (this is just a PoC yet)

    - "foreach by value" don't relay on internal array/object pointer and doesnt perform array duplication. It just locks it incrementing reference counter. If the original array is modified by some code, the copy on write is performed and "foreach" still work with the old copy.

    - it makes no difference if array given to "foreach by value" is reference itself

    - "foreach by reference" still use internal array/object pointer and should work similar to PHP-5. (This id not completely implemented)
2015-02-12 13:57:12 +03:00
Xinchen Hui
a1d9ceac7a Fixed annoying warnings 2015-01-29 11:59:37 +08:00
Anatol Belski
d0e75bdc59 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68827 Double free with disabled ZMM
  Fixed segfault while running with moodle
2015-01-22 10:00:10 +01:00
Xinchen Hui
201f660ae1 Merge branch 'PHP-5.6' 2015-01-22 16:39:22 +08:00
Xinchen Hui
d0928b7f97 Merge branch 'PHP-5.5' into PHP-5.6 2015-01-22 16:39:03 +08:00
Xinchen Hui
251745c012 Fixed segfault while running with moodle 2015-01-22 16:38:34 +08:00
Dmitry Stogov
22ac15e6c9 Improve optimization of CONCAT/ADD_STRING/ADD_CJAR sequences 2015-01-19 17:01:30 +03:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00
Xinchen Hui
73c1be2653 Bump year 2015-01-15 23:26:03 +08:00
Stanislav Malyshev
b7a7b1a624 trailing whitespace removal 2015-01-10 15:07:38 -08:00
Xinchen Hui
aa5b3b0e4a Merge branch 'PHP-5.6' 2015-01-09 11:54:01 +08:00
Xinchen Hui
0547edb5c2 Fixed bug (try block removed while combined with xdebug) 2015-01-09 11:53:47 +08:00
Dmitry Stogov
814df43fb9 Reimplemented used stack size recalculation (replaced 3d4babdc2b) 2014-12-26 12:42:38 +03:00
Xinchen Hui
3d4babdc2b Adjust tempoary variable used in caller's side 2014-12-25 14:57:58 +08:00
Xinchen Hui
e0ca75a454 No need to do this check for master, ZEND_COMPILE_NO_BUILTIN_STRLEN already cover it 2014-12-24 20:42:17 +08:00
Dmitry Stogov
c42ac09518 Added new API function 'zend_string* zend_string_tolower(zend_string*)'.
It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
2014-12-24 15:04:51 +03:00
Xinchen Hui
d4f89fbda4 Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/Optimizer/pass1_5.c
2014-12-24 18:30:06 +08:00
Xinchen Hui
bba4a8aad5 Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8 + Opcache) 2014-12-24 17:55:58 +08:00
Xinchen Hui
b5b617674e Micro optimaztion (yeah, I know compiler supposed to do that) 2014-12-22 00:10:46 -05:00
Nikita Popov
c94f62d0d9 Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/Optimizer/pass2.c
2014-12-19 21:51:05 +01:00
Nikita Popov
87ccf50bad Merge branch 'PHP-5.5' into PHP-5.6 2014-12-19 21:46:38 +01:00
Nikita Popov
aa394e70ff Fix bug #67111
Loop variables need to be freed for both "break" and "continue".

I'm adding the test to Zend/ because it's good to have a test for
this even without opcache.
2014-12-19 21:42:42 +01:00
Nikita Popov
0f815642e0 Drop ZEND_PRINT opcode in favor of ZEND_ECHO
The return value long(1) is an IS_CONST operand now.
2014-12-18 14:39:40 +01:00
Anatol Belski
e112f6a04e second shot on removing TSRMLS_* 2014-12-14 14:07:59 +01:00
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Dmitry Stogov
14e29f5146 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.
2014-12-12 10:19:41 +03:00
Dmitry Stogov
9ea35a37b9 Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline->op1.num to avoid its recalculation on each execution. 2014-12-12 09:01:42 +03: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
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
e20a727430 SEND_VAR_NO_REF optimization 2014-11-18 14:37:36 +03:00
Dmitry Stogov
10107db61e Use DECLARE_CONST instruction instead of call to internal define() function when possible 2014-10-30 16:42:39 -07:00
Dmitry Stogov
1551db8faa Added constant expression evaluation for "dirname(__FILE__)".
Improved constant expression evaluation for function calls
2014-10-30 15:15:51 -07:00
Dmitry Stogov
4fd435abab Embed FETCH_CLASS <string> into the following NEW 2014-10-23 11:52:34 +04:00
Dmitry Stogov
534d854fb2 Embed FETCH_CLASS <string> into the following INSTANCEOF 2014-10-22 17:23:43 +04:00
Dmitry Stogov
ab539e177e Removed old irrelevant comment 2014-10-20 13:52:28 +04:00
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
Dmitry Stogov
19be8b676c Fixed issue #183 (TMP_VAR is not only used once) 2014-05-26 10:10:59 +04:00
Dmitry Stogov
b11a30f5ea Merge branch 'master' into phpng
* master:
  Support for __debugInfo (Joe Watkins)
  Optimize ZEND_POW (Rouven Weßling)
  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
  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
  Prevent recursion in ZF2 Parameters class
  adding NEWS block for beta4
  5.4.30 next
  enable email notifications
  update NEWS
  update NEWS
  update NEWS
  - Updated to version 2014.3 (2014c)
  fix bug #67253: timelib_meridian_with_check out-of-bounds read
  Fix bug #67252: convert_uudecode out-of-bounds read
  Fix bug #67251 - date_parse_from_format out-of-bounds read
  Fix bug #67250 (iptcparse out-of-bounds read)

Conflicts:
	ext/opcache/zend_persist.c
	ext/spl/spl_array.c
2014-05-18 21:17:31 +04:00
Dmitry Stogov
0019b512ff Merge branch 'PHP-5.6'
* PHP-5.6:
  Optimize ZEND_POW (Rouven Weßling)
  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

Conflicts:
	ext/opcache/ZendAccelerator.h
2014-05-18 20:51:37 +04:00
Dmitry Stogov
3fff53fc57 Optimize ZEND_POW (Rouven Weßling) 2014-05-18 20:48:16 +04:00
Xinchen Hui
eb5c613311 Fixed Zend Hash API usage (although it's in comments) 2014-05-18 12:05:36 +08:00
Dmitry Stogov
feeebc2e05 Fixed new hash API usage 2014-05-17 11:48:29 +04:00
Dmitry Stogov
bc99c0debb Fixed hack. now we may store numbers not as pointers. 2014-05-15 14:00:49 +04:00
Dmitry Stogov
17d027ed47 Split IS_BOOL into IS_FALSE and IS_TRUE 2014-04-30 18:32:42 +04:00
Dmitry Stogov
6a911e833f Optimized JMPZNZ to avoid multiplication at runtime (may be it makes sense to use relative addresses everywere it'll lead to Position Independent Code) 2014-04-30 11:23:19 +04:00
Dmitry Stogov
df7ca608ce Optimized constant lookup 2014-04-25 00:56:15 +04:00
Dmitry Stogov
5864ce8a44 Fixed compilation warnings 2014-04-22 17:46:34 +04:00
Dmitry Stogov
afe66d89a1 Cleanup 2014-04-21 16:34:40 +04:00
Dmitry Stogov
3434d3fc98 Optimize CASE(TRUE, X) into BOOL(X) (this pattern affects wordpress) 2014-04-17 21:15:02 +04:00
Dmitry Stogov
e96073b1e4 Moved zend_literal->cache_slot right into zval.
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
c92dd8eedf Fixed ZEND_CAST related optimizations (now it returns IS_VAR instead of IS_TMP_VAR) 2014-04-17 11:12:47 +04:00
Dmitry Stogov
f9b26bc39a Cleanup (2-nd round) 2014-04-15 21:56:30 +04:00
Dmitry Stogov
5dc52e4880 Fixed interface constants inheritance.
Now we use IS_REFERENCE for inhereted class constants.
I might miss some edje cases.
2014-04-14 13:24:43 +04:00
Dmitry Stogov
76cc99fe60 Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc) 2014-04-03 15:26:23 +04:00
Dmitry Stogov
d8099d0468 Changed data layout to allow more efficient operations 2014-04-02 14:34:44 +04:00
Dmitry Stogov
3b25faa4aa Fixed 0 index handling 2014-04-02 12:09:05 +04:00
Dmitry Stogov
2a612e91c2 Fixed optimizer 2014-04-01 11:04:12 +04:00
Dmitry Stogov
b964621294 Fixed optimizer (incomplete) 2014-04-01 01:53:33 +04:00
Dmitry Stogov
fd4d11e053 fixes 2014-03-31 23:38:37 +04:00
Dmitry Stogov
7465be4fbd Optimizer related fixes (incomplete) 2014-03-31 18:13:16 +04:00
Dmitry Stogov
5324f22f59 ext/opcache refactoring (incomplete) 2014-03-28 23:34:49 +04:00
Dmitry Stogov
f4cfaf36e2 Use better data structures (incomplete) 2014-02-10 10:04:30 +04:00
Dmitry Stogov
61028ad45e Merge branch 'PHP-5.6'
* PHP-5.6:
  We don't know PHP_5_6_X_API_NO yet
2014-01-15 11:11:01 +04:00
Dmitry Stogov
77bc5b8bae We don't know PHP_5_6_X_API_NO yet 2014-01-15 11:09:38 +04:00
Xinchen Hui
aca07343ce Merge branch 'PHP-5.6' 2014-01-14 22:34:53 +08:00
Nikita Popov
a5ee337156 Fixed arguments unpacking segfault with opcache 2014-01-14 22:34:08 +08:00
Dmitry Stogov
e141592da6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #66440 (Optimisation of conditional JMPs based on pre-evaluate constant function calls)
2014-01-13 16:16:57 +04:00
Dmitry Stogov
9b74dc4a07 Fixed bug #66440 (Optimisation of conditional JMPs based on pre-evaluate constant function calls) 2014-01-13 16:16:23 +04:00
Dmitry Stogov
3458dac342 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #66471 (Keep backward compatibility)
2014-01-13 15:36:06 +04:00
Dmitry Stogov
ca550248f1 Fixed bug #66471 (Keep backward compatibility) 2014-01-13 15:34:25 +04:00
Dmitry Stogov
aab2e8eb7e Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #66474 (Optimizer bug in constant string to boolean conversion)
2014-01-13 12:08:23 +04:00
Dmitry Stogov
d09d64c15c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #66474 (Optimizer bug in constant string to boolean conversion)

Conflicts:
	NEWS
2014-01-13 12:07:50 +04:00
Dmitry Stogov
fcd75690fe Fixed bug #66474 (Optimizer bug in constant string to boolean conversion) 2014-01-13 12:06:19 +04:00
Xinchen Hui
0f53e37494 Merge branch 'PHP-5.6' 2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
408ae9a452 Merge branch 'PHP-5.6' 2013-12-30 10:52:21 +08:00
Xinchen Hui
a88543a106 Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style ^M as lineend) 2013-12-30 10:51:47 +08:00
Xinchen Hui
04c8ce259f Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style ^M as lineend)
Use git blame -w to ingore the space changes
2013-12-30 10:50:46 +08:00
Dmitry Stogov
67eccf8617 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #66338 (Optimization binding of class constants is not safely opcacheable)
2013-12-23 16:54:54 +04:00
Dmitry Stogov
a00e7f22d2 Fixed bug #66338 (Optimization binding of class constants is not safely opcacheable) 2013-12-23 16:53:34 +04:00
Dmitry Stogov
209ec406ca Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #66334 (Memory Leak in new pass1_5.c optimizations). (Terry)
2013-12-23 16:05:18 +04:00
Dmitry Stogov
ccb29a6e41 Fixed bug #66334 (Memory Leak in new pass1_5.c optimizations). (Terry) 2013-12-23 16:04:10 +04:00
Bob Weinand
b11b3d201f Fixed ZTS build. Needed to bump API version number. 2013-12-18 16:44:20 +01:00
Kalle Sommer Nielsen
2eb9bd316d Merge branch 'master' of https://git.php.net/push/php-src 2013-12-18 07:27:14 +01:00
Kalle Sommer Nielsen
d14670ccdb Eliminate another TSRMLS_FETCH() in i_zend_is_true()
# Affected extensions have all been updated, ext/opcache and ext/zip
# both have macros for cross version compatibility
2013-12-18 07:25:05 +01:00
Xinchen Hui
eeb37c40e6 Save one char compare 2013-12-17 15:09:52 +08:00
Dmitry Stogov
73f13f439b Fixed bug #66251 (Constants get statically bound at compile time when Optimized) 2013-12-10 17:04:17 +04:00
Dmitry Stogov
f000624864 Added an optimization of class constants and constant calls to some internal functions 2013-11-26 21:37:31 +04:00
Dmitry Stogov
e7132597a6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #66176 (Invalid constant substitution)
  Fixed bug #66176 (Invalid constant substitution)
2013-11-26 21:01:01 +04:00
Dmitry Stogov
d79dd9cc1c Fixed bug #66176 (Invalid constant substitution) 2013-11-26 21:00:00 +04:00
Dmitry Stogov
27524b52b5 Fixed bug #66176 (Invalid constant substitution) 2013-11-26 19:55:49 +04:00
Dmitry Stogov
0999d85049 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #66176 (Invalid constant substitution)

Conflicts:
	NEWS
2013-11-26 17:48:11 +04:00
Dmitry Stogov
d85ac7fb3f Fixed bug #66176 (Invalid constant substitution) 2013-11-26 17:47:02 +04:00
Dmitry Stogov
a2aa6a3440 Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed bug #65845 (Error when Zend Opcache Optimizer is fully enabled).

Conflicts:
	NEWS
2013-10-10 15:33:17 +04:00
Dmitry Stogov
ef8cf76815 Fixed bug #65845 (Error when Zend Opcache Optimizer is fully enabled). 2013-10-10 15:32:30 +04:00
Nikita Popov
0d7a638866 Implement variadic function syntax
As per RFC: https://wiki.php.net/rfc/variadics
2013-09-26 18:39:17 +02:00
Xinchen Hui
e53e79c701 Merge branch 'PHP-5.5' 2013-09-16 14:43:13 +08:00
Xinchen Hui
46f18ccf0d Fixed bug #65665 (Exception not properly caught when opcache enabled) 2013-09-16 14:43:01 +08:00
Dmitry Stogov
ec173433da Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var)

Conflicts:
	NEWS
2013-08-29 11:57:19 +04:00
Dmitry Stogov
5015c4af6c Fixed bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var) 2013-08-29 11:56:01 +04:00
Dmitry Stogov
c8673b64ce Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed compatibility with php-5.2
2013-08-29 10:45:00 +04:00
Dmitry Stogov
94816ed9bf Fixed compatibility with php-5.2 2013-08-29 10:44:07 +04:00
Dmitry Stogov
b6864d978c Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed bug #65561 (Zend Opcache on Solaris 11 x86 needs ZEND_MM_ALIGNMENT=4). (Terry Ellison)

Conflicts:
	NEWS
2013-08-29 10:31:14 +04:00
Dmitry Stogov
790db9ff9b Fixed bug #65561 (Zend Opcache on Solaris 11 x86 needs ZEND_MM_ALIGNMENT=4). (Terry Ellison) 2013-08-29 10:29:48 +04:00
Dmitry Stogov
a13c00cd14 Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed compilation warning
2013-08-26 09:49:22 +04:00
Dmitry Stogov
1c67a9940a Fixed compilation warning 2013-08-26 09:48:10 +04:00
Dmitry Stogov
2bc886abed Merge branch 'PHP-5.5'
* PHP-5.5:
  Replce ZEND_FETCH_* instructions with IS_CV if possible

Conflicts:
	ext/opcache/Optimizer/zend_optimizer.c
2013-08-09 17:52:22 +04:00
Dmitry Stogov
b27f6826d4 Replce ZEND_FETCH_* instructions with IS_CV if possible 2013-08-09 17:47:47 +04:00
Dmitry Stogov
147d5241dc Merge branch 'PHP-5.5'
* PHP-5.5:
  Improved implementation of NOP removal pass from O(n^2) to O(n) (hnw)
2013-07-30 22:33:46 +04:00
Dmitry Stogov
cb17c99511 Improved implementation of NOP removal pass from O(n^2) to O(n) (hnw) 2013-07-30 22:31:37 +04:00
Dmitry Stogov
05a88447ad Merge branch 'PHP-5.5'
* PHP-5.5:
  Avoid possible conditional jump depended on uninitialised value
2013-04-29 10:46:54 +04:00
Dmitry Stogov
4b83f4a011 Avoid possible conditional jump depended on uninitialised value 2013-04-29 10:45:31 +04:00
Dmitry Stogov
3f48e8765d Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed compilation warnings (issue #92)
2013-04-29 10:32:50 +04:00
Dmitry Stogov
a5b4eeb5f0 Fixed compilation warnings (issue #92) 2013-04-29 10:32:08 +04:00
Xinchen Hui
676e737f5b Fix other typos & add test script 2013-04-19 11:21:44 +08:00
Xinchen Hui
580d6fe94d Fix typo 2013-04-19 10:55:11 +08:00
Felipe Pena
1192cfa58c - Fixed ZTS build 2013-04-18 19:27:02 -03:00
Dmitry Stogov
60a59d27b4 Disable FCALL optimization pass for PHP older than 5.4 2013-04-18 22:22:48 +04:00
Dmitry Stogov
edfeab8bf2 Added an optimization pass to convert FCALL_BY_NAME into DO_FCALL. 2013-04-18 22:12:31 +04:00
Dmitry Stogov
2bfb523f45 Merge identical constants (and related cache_slots) in op_array->literals table. 2013-04-18 10:48:16 +04:00
Dmitry Stogov
36d343c0c4 Merge branch 'PHP-5.5' into PHP-5.5-opcache
* PHP-5.5:
  Initialize literals hash_value and cache_slot
  Added curl config test for windows
  updated lib versions
  updated lib versions
  fixed EOL
  updated lib versions
  allow lcov 1.10
  allow lcov 1.10

Conflicts:
	ext/opcache/Optimizer/zend_optimizer.c
2013-04-17 21:32:08 +04:00
Dmitry Stogov
5a897009a8 Initialize literals hash_value and cache_slot 2013-04-17 21:19:56 +04:00
Dmitry Stogov
276847caba Added script level constant replacement 2013-04-11 15:18:35 +04:00
Dmitry Stogov
e27039630a Fixed support for PHP-5.3 2013-04-10 21:27:06 +04:00
Dmitry Stogov
7845f49006 Numeric string constants used as array indeces have to be converted to long at compile time 2013-04-10 15:33:08 +04:00
Dmitry Stogov
2b28f29e53 Fixed CFG construction bugs 2013-04-09 17:48:45 +04:00
Dmitry Stogov
23b44e7f39 Fixed ZTS build 2013-04-01 21:16:33 +04:00
Dmitry Stogov
74f158fb9d Fixed issue #79 (Optimization Problem/Bug) 2013-04-01 11:33:04 +04:00
Dmitry Stogov
987dee9ca1 Fixed PHP-5.2 ZTS compatibility 2013-03-25 12:21:58 +04:00
Dmitry Stogov
a62ffb72f4 Renamed Zend Optimizer+ into Zend OPcache 2013-03-19 10:32:24 +04:00
Dmitry Stogov
e00b04a54f Fixed memory leaks 2013-03-16 17:24:54 +04:00
Dmitry Stogov
34d3202eda Merge Zend Optimizer+
git-subtree-dir: ext/opcache
git-subtree-mainline: b1dbfb7357
git-subtree-split: 8d35170c5f
2013-03-16 00:41:46 +04:00