Xinchen Hui
|
ce9248b6ef
|
Merge branch 'PHP-5.6'
|
2015-05-04 19:26:07 +08:00 |
|
Xinchen Hui
|
7289981c61
|
Merge branch 'PHP-5.5' into PHP-5.6
|
2015-05-04 19:22:22 +08:00 |
|
Xinchen Hui
|
7af9ba23a7
|
Saving the latter checking in most cases
|
2015-05-04 19:21:54 +08:00 |
|
Dmitry Stogov
|
d880ead8a7
|
Improve fast_is_[not_]identical() functions to teturn value instead of takeing additional arguments.
Pair INSTANCEOF with the following JMPZ/JMPNZ.
|
2015-04-29 16:43:23 +03:00 |
|
Dmitry Stogov
|
762a774c40
|
Fixed repeatable opcodes on CALL VM without global registers
|
2015-04-29 14:20:44 +03:00 |
|
Dmitry Stogov
|
690440771a
|
Paired instuctions frequientiy used together (e.g. comparisons + conditional jumps)
|
2015-04-29 04:17:59 +03:00 |
|
Dmitry Stogov
|
d271d2cf7b
|
Make ZEND_RECV_INIT and ZEND_BIND_GLOBALS opcodes to be "repeatabe" with inner-loop instead of main interpreter loop.
|
2015-04-29 00:40:43 +03:00 |
|
Dmitry Stogov
|
3057034608
|
Optimize opcodes for fast path
|
2015-04-28 23:57:21 +03:00 |
|
Dmitry Stogov
|
612de5214f
|
Simplified code
|
2015-04-28 19:11:23 +03:00 |
|
Dmitry Stogov
|
89be15c56d
|
Micro optimizations
|
2015-04-28 12:41:39 +03:00 |
|
Dmitry Stogov
|
94245bc14c
|
Refactored using specialized opcodes
|
2015-04-27 12:24:39 +03:00 |
|
Nikita Popov
|
03d7042d5c
|
Don't issue FETCH_CLASS for anon classes
|
2015-04-26 15:44:48 +02:00 |
|
krakjoe
|
49608e0608
|
Rebase Joe's anon classes implementation
|
2015-04-26 15:04:22 +02:00 |
|
Dmitry Stogov
|
000d5d7ec9
|
Dont't use DO_ICALL for internal functions returned by reference
|
2015-04-24 00:34:11 +03:00 |
|
Dmitry Stogov
|
49cf7c5d12
|
Don't propogate "fake" EX(called_scope) and EX(This) into each internal function.
They need quite seldom and it's cheaper to get them from corresponfing upper stack frame.
|
2015-04-23 12:16:37 +03:00 |
|
Dmitry Stogov
|
6d4da2db8a
|
Make internal non-static methods to be executed in context of class. Set EG(scope) accordingly.
|
2015-04-23 03:41:50 +03:00 |
|
Dmitry Stogov
|
15a5f61cf4
|
Use fast method to check if first arguments should be passed by reference (not tested onbig endian).
|
2015-04-22 21:46:13 +03:00 |
|
Nikita Popov
|
62aabf5d9f
|
Fix "invalid opcode" error
Method call can happen on CONST, it'll just throw an error.
Not forbidding this at compile-time, so this can be overridden in
an extension.
|
2015-04-22 17:46:25 +02:00 |
|
Xinchen Hui
|
1c3b99c4ff
|
Throw exception will override EX(opline)
|
2015-04-20 11:58:23 +08:00 |
|
Xinchen Hui
|
a819404e9e
|
Refix opline usage
|
2015-04-20 10:53:58 +08:00 |
|
Bob Weinand
|
b1bd6f502f
|
Properly define ZEND_OP_DATA in zend_vm_def.h
This allows zend_vm_gen.php to define them in zend_vm_opcodes.{c,h} without further hacks.
|
2015-04-19 23:21:57 +02:00 |
|
Nikita Popov
|
9f0f93b00f
|
Fix CALL_TRAMPOLINE without global regs
The opline needs to be loaded here in any case. However
LOAD_OPLINE() is a no-op if global VM registers are not used.
|
2015-04-18 15:44:04 +02:00 |
|
Nikita Popov
|
38da85f313
|
Initialize VAR_FLAGS for generators
|
2015-04-17 21:51:49 +02:00 |
|
Dmitry Stogov
|
a759967dd1
|
Mark call frames to closures with ZEND_CALL_CLOSURE flag to avoid expensive check at zend_leave_helper()
|
2015-04-16 12:16:03 +03:00 |
|
Bob Weinand
|
7c2fbdf58d
|
Remove some redundant exception checking/continuing VM instructions
|
2015-04-15 22:18:05 +02:00 |
|
Bob Weinand
|
3dcad2eea2
|
Fix bug #69458
|
2015-04-15 21:56:11 +02:00 |
|
Bob Weinand
|
27033f9818
|
Forgot to transform some errors to engine exceptions
|
2015-04-15 21:42:26 +02:00 |
|
Dmitry Stogov
|
d5d2032898
|
eliminate unnecessary EX(opline) <-> opline reloading
|
2015-04-15 20:53:27 +03:00 |
|
Dmitry Stogov
|
6aee1ee4a1
|
Optimization of stack-frame construction
|
2015-04-15 17:02:21 +03:00 |
|
Nikita Popov
|
108ae7961e
|
Fix leak when calling ->get() on tmp property
|
2015-04-14 22:16:18 +02:00 |
|
Bob Weinand
|
f3e124d58d
|
Merge branch 'coroutineDelegation' of https://github.com/bwoebi/php-src
|
2015-04-14 17:58:58 +02:00 |
|
Nikita Popov
|
ed7e6d4758
|
Merge branch 'PHP-5.5' into PHP-5.6
|
2015-04-14 16:36:36 +02:00 |
|
Nikita Popov
|
95650d0942
|
Fixed bug #69419
|
2015-04-14 16:35:23 +02:00 |
|
Dmitry Stogov
|
0d18aa8610
|
Use Z_TYPE_INFO_P() instead Z_TYPE_P() when we check for few scalar types. This allow C compiler to generate the better code.
|
2015-04-14 13:09:31 +03:00 |
|
Dmitry Stogov
|
5e8133f453
|
Squashed commit of the following:
commit 2399fc84c5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 12:38:08 2015 +0300
Removed useless assignment
commit 796b633817
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 12:35:31 2015 +0300
Fixed execution with overriden zend_execute_ex()
commit 4a9fb125aa
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 02:02:58 2015 +0300
Fixed executor without global registers
commit d456c30e00
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 01:30:35 2015 +0300
Restored original behavior for tests/classes/__call_004.phpt
commit 479646d37f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:32:17 2015 +0300
Fixed test. We don't keep stack frame for fake function anymore.
commit 9ae61e33e2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:30:09 2015 +0300
Use ZEND_ACC_CALL_VIA_TRAMPOLINE instead of ZEND_ACC_CALL_VIA_HANDLER. Keep ZEND_ACC_CALL_VIA_HANDLER for compatibility.
commit 0a8403a2a0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:05:43 2015 +0300
Rename PROXY_CALL into CALL_TRAMPLINE.
Generalize API to allow reuse EG(trampline) for other purposes.
commit 4ea0525c10
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 23:22:25 2015 +0300
Reuse EG(proxy_call_op) for all proxy. Move proxy related functions from zend_objects_API to zend_object_handlers.
commit 529bf737ca
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 21:42:23 2015 +0300
Accurate use of proxy_call
commit 5d62837d5b
Merge: 83e749f 690843f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 19:40:00 2015 +0300
Merge branch 'master' into opcodefy-call
* master:
Fixed GOTO executor
Fixed typo
Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack.
commit 83e749ff3b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 19:39:10 2015 +0300
Improved ZEND_PROXY_CALL
commit 0c829afc53
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 15:14:49 2015 +0300
Reverted white-space changes
commit df65144488
Merge: 5fd2f97 97756d9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 14:37:07 2015 +0300
Merge branch 'opcodefy-call' of github.com:laruence/php-src into opcodefy-call
* 'opcodefy-call' of github.com:laruence/php-src:
Ready for PR
Fixed static call
Improve performance by using prealloated op_arrray
Respect called_scope
Support internal magical __call/__callStatic
opcode-fy magical __callStatic
Opcode-fy magical __call
commit 97756d9190
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 19:07:59 2015 +0800
Ready for PR
commit 74f9930846
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 19:03:00 2015 +0800
Fixed static call
commit ec1d9eb592
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 18:23:17 2015 +0800
Improve performance by using prealloated op_arrray
commit df7fbbf949
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 15:10:02 2015 +0800
Respect called_scope
commit 769d1d59fb
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 12:19:23 2015 +0800
Support internal magical __call/__callStatic
commit a980fedd5b
Author: Xinchen Hui <laruence@gmail.com>
Date: Wed Apr 8 18:35:41 2015 +0800
opcode-fy magical __callStatic
commit 73855f7d53
Author: Xinchen Hui <laruence@gmail.com>
Date: Wed Apr 8 14:21:55 2015 +0800
Opcode-fy magical __call
|
2015-04-10 23:01:00 +03:00 |
|
Dmitry Stogov
|
a62896783f
|
Removed wrong error messages
|
2015-04-06 18:10:45 +03:00 |
|
Dmitry Stogov
|
9e2c14c121
|
Fixed error messages
|
2015-04-06 17:24:32 +03:00 |
|
Dmitry Stogov
|
cae0147ed3
|
Fixed weird operators behavior. Division by zero now emits warning and returns +/-INF, modulo by zero and intdid() throws an exception, shifts by negative offset throw exceptions. Compile-time evaluation of division by zero is disabled.
|
2015-04-06 14:30:05 +03:00 |
|
Nikita Popov
|
86906d6a7b
|
Fix typo
|
2015-04-04 10:38:00 +02:00 |
|
Dmitry Stogov
|
dcaa79546b
|
Don't relay on reference-counter when parameter expected to be a reference, but value given.
|
2015-04-03 16:35:06 +03:00 |
|
Xinchen Hui
|
75551c3f59
|
Unused var
|
2015-04-03 15:55:39 +08:00 |
|
Dmitry Stogov
|
adcf0c6052
|
Improved reference counting
|
2015-04-03 01:32:20 +03:00 |
|
Dmitry Stogov
|
bf259db82e
|
Recalssify some E_ERROR into E_CORE_ERROR
|
2015-04-02 13:07:17 +03:00 |
|
Dmitry Stogov
|
53d20140fb
|
Fixed performance degradation introduced with lateast EnfineException related changes.
Restore original errors order in executor.
|
2015-04-02 03:56:42 +03:00 |
|
Dmitry Stogov
|
ea09a9fa32
|
Convert fatal errors into EngineExceptions
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
|
2015-04-02 02:05:25 +03:00 |
|
Dmitry Stogov
|
ec760d8fff
|
Convert fatal errors into EngineExceptions
|
2015-04-01 20:01:57 +03:00 |
|
Dmitry Stogov
|
0cad725886
|
Convert fatal errors into EngineExceptions
|
2015-04-01 15:54:03 +03:00 |
|
Dmitry Stogov
|
4fd93a4da6
|
Converted fatal errors into EngineExceptions
|
2015-04-01 14:50:09 +03:00 |
|
Nikita Popov
|
085774997b
|
Drop support for static calls from incompatible context
Implemented by NULLing $this.
|
2015-04-01 11:42:05 +02:00 |
|
Nikita Popov
|
8d00385871
|
Reclassify E_STRICT notices
Per RFC https://wiki.php.net/rfc/reclassify_e_strict
While reviewing this, found that there are still three E_STRICTs
left in libraries - need to discuss those.
|
2015-04-01 11:17:55 +02:00 |
|