Dmitry Stogov
e6976e9ba2
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF)
2015-05-07 12:17:55 +03:00
Dmitry Stogov
329513c3a7
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF)
Conflicts:
NEWS
2015-05-07 12:16:40 +03:00
Dmitry Stogov
8026001943
Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF)
2015-05-07 12:14:14 +03:00
Dmitry Stogov
9e9170bd07
Strings and other pointers should be handled differently
2015-05-07 11:36:01 +03:00
Rasmus Lerdorf
dd0b602381
Fix build
2015-05-06 22:46:56 -07:00
Xinchen Hui
809616c9da
Temporary fix for SIGFPE
2015-05-07 11:25:04 +08:00
Dmitry Stogov
3abde43231
Added experimental (disabled by default) file based opcode cache.
2015-05-06 23:46:49 +03:00
Xinchen Hui
24992a1422
Merge branch 'PHP-5.5' into PHP-5.6
2015-05-05 11:06:14 +08:00
Xinchen Hui
cf3e976c3b
Update version
2015-05-05 11:06:04 +08:00
Dmitry Stogov
5af7743cf5
Merge branch 'anon'
...
* anon:
Pass class_entry through IS_VAR to avoid hash lookup in ZEND_NEW.
Use "safe" anonymous class names. Don't show the mangled names through var_dump().
Refactored using specialized opcodes
Fix implementing_class handling
More cleanup (mainly retab)
Don't issue FETCH_CLASS for anon classes
More retab
Simply anon class name generation
Retab
Revert unrelated changes / rebase fixup
Rebase Joe's anon classes implementation
2015-04-27 17:18:35 +03:00
Dmitry Stogov
ffe804a50c
Use new hash iteration API.
2015-04-27 16:50:47 +03:00
Dmitry Stogov
94245bc14c
Refactored using specialized opcodes
2015-04-27 12:24:39 +03:00
Dmitry Stogov
6265687768
Added HashTable flag HASH_FLAG_STATIC_KEYS that is maintaned to be set if all hash table keys are numbers or interned strings.
...
Take this flag into account when copy or destroy HashTable to avoud useless checks for each key.
2015-04-24 09:34:50 +03:00
Xinchen Hui
9db4e25927
Since 5.6 stat.cwd using emalloc (Thanks to Remi)
2015-04-22 15:14:00 +08:00
Dmitry Stogov
770cb1da71
Keep realpath and PCRE caches in consistency with opcache SHM.
2015-04-22 02:29:06 +03:00
Dmitry Stogov
a0c07c90f2
Fixed zend_string related inconsistencies
2015-04-21 23:26:34 +03:00
Dmitry Stogov
ca76a86fe6
Removed deprecated code
2015-04-21 11:48:43 +03:00
Dmitry Stogov
81a9505742
Compact HashTables to reduce SHM usage
2015-04-21 00:27:21 +03:00
Dmitry Stogov
b1a03d7d39
Removed invalid code
2015-04-20 16:48:49 +03:00
Xinchen Hui
5255ea42b5
What should we version the bundled opcache?
2015-04-14 16:20:01 +08:00
Dmitry Stogov
52eac6bf11
Improved "fust shutdown".
2015-04-03 10:48:55 +03:00
Xinchen Hui
ed43b7a548
Merge branch 'PHP-5.6'
...
Conflicts:
ext/opcache/zend_accelerator_module.c
2015-04-02 00:04:30 +08:00
Xinchen Hui
2533fde199
Merge branch 'PHP-5.5' into PHP-5.6
2015-04-01 23:59:45 +08:00
Danack
86f983bd3e
Fixed bug #69281 (opcache_is_script_cached no longer works)
2015-04-01 23:58:22 +08:00
Lior Kaplan
c22543b3f3
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Fixed bug #68739 (Missing break / control flow in curl)
Fixed bug #68740 (NULL Pointer Dereference)
Fixed bug #68677 (Use After Free in OPcache)
2015-04-01 01:54:53 +03:00
Xinchen Hui
0a8f28b432
Fixed bug #68677 (Use After Free in OPcache)
...
(cherry picked from commit 777c39f404 )
2015-04-01 01:24:16 +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
Kalle Sommer Nielsen
dd601e661c
Remove these CFLAGS for ereg in opcache, we don't use them anymore (as opcache uses PCRE) together with ereg being gone
2015-03-27 15:01:31 +01:00
Xinchen Hui
84d9426730
Fixed bug #69315
2015-03-27 17:50:36 +08:00
Kalle Sommer Nielsen
67b907f059
Change the error message for colliding class/interface/trait names to be a little more clearer.
...
C:\> php -r "interface stdClass { }"
Error: Cannot declare interface stdClass, because the name is already in use in Command Line Code on line 1
2015-03-26 01:44:23 +01: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
Kalle Sommer Nielsen
927d53fda4
Change "Cannot redeclare class X" into "Cannot redeclare class/interface/trait X", meaning that the following:
...
C:\> php -r "trait A { } trait A { }"
Will now properly print "Cannot redeclare trait A" instead of "Cannot redeclare class A" to make error messages a tiny bit clearer. Admittedly, a better solution can most likely be made by actually telling what the colliding object is a type of.
Internally this adds a new function:
zend_get_object_type()
2015-03-25 06:31:11 +01:00
Kalle Sommer Nielsen
a3d2f9b600
The error message is actually "Cannot", not "Can't"
2015-03-25 05:20:58 +01: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
Xinchen Hui
775a257cef
Only used in ZTS
2015-03-21 13:58:29 +08: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
d092cb6e8e
Second prefetch is useless, because cahce line on modern x86 CPUs is 64 bytes long.
2015-03-18 17:11:21 +03:00
Dmitry Stogov
db10b72523
Use fastcall calling convention for most critical ZE subsystems.
2015-03-13 21:10:09 +03:00
Dmitry Stogov
2b42d71908
Changed HashTable layout:
...
Removed HashTable->arHash (reduced memory consumption). Now hash slots may be accessed using HT_HASH() macro.
Hash slotas are allocated together with Buckets (before them) and lay in reverse order from HashTable->arData base address (see comments in Zend/zend_types.h)
Indexes in hash table and conflict resolution chains (Z_NEXT) may be stored as indeces or offsets in bytes, depending on system (32 or 64-bit).
HashTable data filelds are reordered to keep the most useful for zend_hash_find() data in the same CPU cache line.
2015-03-13 17:13:19 +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
Dmitry Stogov
8633685675
Use specialized macro for string zval creation
2015-03-12 16:53:51 +03:00
Dmitry Stogov
5d0bacfe67
Merge branch 'PHP-5.6'
...
* PHP-5.6:
We don't cache custom strems with callbacks anymore
Conflicts:
ext/opcache/ZendAccelerator.c
2015-03-10 19:32:38 +03:00
Dmitry Stogov
b52a2940af
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
We don't cache custom strems with callbacks anymore
2015-03-10 19:30:32 +03:00
Dmitry Stogov
c814b3294a
We don't cache custom strems with callbacks anymore
2015-03-10 19:25:30 +03:00
Dmitry Stogov
53d8e5fc63
Improved hash key manangement code
2015-03-06 16:26:40 +03:00