Dmitry Stogov
d7e8abb4aa
Reordering
2019-07-24 18:49:46 +03:00
Dmitry Stogov
a106e52b10
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Delay dereference
2019-07-24 18:40:03 +03:00
Dmitry Stogov
22e7ee3bb3
Delay dereference
2019-07-24 18:36:50 +03:00
Dmitry Stogov
1f38adb501
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Avoid reloading
2019-07-24 17:38:42 +03:00
Dmitry Stogov
6191df7553
Avoid reloading
2019-07-24 17:30:38 +03:00
Dmitry Stogov
57d9b94dea
Simplify TMP/VAR operand releasing
2019-07-24 14:13:40 +03:00
Nikita Popov
dc6341eb78
Merge branch 'PHP-7.4'
2019-07-24 10:07:51 +02:00
Nikita Popov
1eb706179f
Avoid references in TMP var
...
Make sure we deref the OBJ_IS result, because we store it in a TMP
var, which is not allowed to contain references and will cause
assertion failures in the unspecialized VM.
This also partially reverts fd463a9a60
,
which merged the TMP and VAR specializations of COALESCE to work
around this bug.
An alternative would be to change the result type of OBJ_IS back
to VAR.
2019-07-24 10:07:26 +02:00
Nikita Popov
80681e8d40
Merge branch 'PHP-7.4'
2019-07-24 09:55:09 +02:00
Nikita Popov
9e4603f772
Try to fix macos build
...
By avoiding unused variable opline warnings. Also clean up the
replacement of ZEND_VM_SPEC -- we were sometimes treating it as
an always-defined constant with a value (what it actually is) and
sometimes as a conditionally defined constant (which it isn't, but
which still worked thanks to the specializer). Switch to only
treating it as a constant with a value.
2019-07-24 09:44:55 +02:00
Dmitry Stogov
43c4e4cd22
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed unspecialized executor
2019-07-24 01:43:20 +03:00
Dmitry Stogov
eaa9048973
Fixed unspecialized executor
2019-07-24 01:43:01 +03:00
Dmitry Stogov
97912023bb
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Use run-time cache to avoid repeatable hash lookups in ZEND_DECLARE_CLASS_DELAYED
2019-07-19 11:46:35 +03:00
Dmitry Stogov
445d51347d
Use run-time cache to avoid repeatable hash lookups in ZEND_DECLARE_CLASS_DELAYED
2019-07-19 11:46:03 +03:00
Dmitry Stogov
a837b80a48
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Use run-time cache to avoid repeatable hash lookups when creating anonymous functions and classes
2019-07-19 10:45:00 +03:00
Dmitry Stogov
d5943f5a11
Use run-time cache to avoid repeatable hash lookups when creating anonymous functions and classes
2019-07-19 10:43:49 +03:00
Dmitry Stogov
5ac3580b9b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.
2019-07-19 10:10:50 +03:00
Dmitry Stogov
b065fbde19
ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.
2019-07-19 10:09:26 +03:00
Dmitry Stogov
dea80d708d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Merge common code
2019-07-18 16:50:56 +03:00
Dmitry Stogov
7cf651c39e
Merge common code
2019-07-18 16:46:25 +03:00
Dmitry Stogov
b1f17a2579
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Avoid extra specialization for cold opcodes
2019-07-17 14:04:26 +03:00
Dmitry Stogov
b30e4a5aa6
Avoid extra specialization for cold opcodes
2019-07-17 14:03:48 +03:00
Dmitry Stogov
a997a23f61
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Added specialization for comparison instructions and QM_ASSIGN
2019-07-17 09:12:27 +03:00
Dmitry Stogov
918f09f72a
Added specialization for comparison instructions and QM_ASSIGN
2019-07-17 09:12:01 +03:00
Dmitry Stogov
51442a428c
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Separate "cold" and common unspecialized code
2019-07-17 00:56:06 +03:00
Dmitry Stogov
ee5828205e
Separate "cold" and common unspecialized code
2019-07-17 00:52:26 +03:00
Dmitry Stogov
72c6ea9cb8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Slit INC/DEC opcodes into hot/cold parts and remove specialized versioins for LONG_OR_DOUBLE.
2019-07-16 17:40:31 +03:00
Dmitry Stogov
349a388b90
Slit INC/DEC opcodes into hot/cold parts and remove specialized versioins for LONG_OR_DOUBLE.
2019-07-16 17:39:25 +03:00
Dmitry Stogov
2ac93e2965
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Replace deprecated conditions by ZEND_ASSERT.
2019-07-16 13:50:55 +03:00
Dmitry Stogov
c1b9088903
Replace deprecated conditions by ZEND_ASSERT.
2019-07-16 13:50:25 +03:00
Dmitry Stogov
ab2888511b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Delay IS_UNDEF checks
2019-07-16 11:17:04 +03:00
Dmitry Stogov
1d4c38421a
Delay IS_UNDEF checks
2019-07-16 11:16:45 +03:00
Dmitry Stogov
c0b683e751
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed incorrect specialization (missed IS_INDIRECT handling)
2019-07-16 01:54:34 +03:00
Dmitry Stogov
2e26b063b6
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed incorrect specialization (missed IS_INDIRECT handling)
2019-07-16 01:54:22 +03:00
Dmitry Stogov
c570980175
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed incorrect specialization (missed IS_INDIRECT handling)
2019-07-16 01:52:11 +03:00
Dmitry Stogov
9ccf3fb996
Fixed incorrect specialization (missed IS_INDIRECT handling)
2019-07-16 01:50:10 +03:00
Dmitry Stogov
319e2bc42e
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Use common code for double math
2019-07-12 11:42:11 +03:00
Dmitry Stogov
0793af0673
Use common code for double math
2019-07-12 11:40:56 +03:00
Dmitry Stogov
3c89a3d716
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Separate "cold" parts of comparison instructions
2019-07-11 20:45:12 +03:00
Dmitry Stogov
ef1a1a0698
Separate "cold" parts of comparison instructions
2019-07-11 20:44:39 +03:00
Dmitry Stogov
b4ee279bf4
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Separate "cold" parts of binary op instructions
2019-07-11 18:23:48 +03:00
Dmitry Stogov
be94c0c3c6
Separate "cold" parts of binary op instructions
2019-07-11 18:23:08 +03:00
Dmitry Stogov
10f53f9c80
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Avoid unintended inlining
2019-07-09 14:02:12 +03:00
Dmitry Stogov
8f0c87e1b6
Avoid unintended inlining
2019-07-09 14:01:48 +03:00
Dmitry Stogov
ee9f03fb4c
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Remove duplicated code for (PRE|POST)_DEC_(OBJ|STATIC_PROP) opcodes
2019-07-09 10:47:15 +03:00
Dmitry Stogov
e1f418dd18
Remove duplicated code for (PRE|POST)_DEC_(OBJ|STATIC_PROP) opcodes
2019-07-09 10:46:04 +03:00
Dmitry Stogov
1b5b8175af
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
2019-07-05 12:16:30 +03:00
Dmitry Stogov
48ca5a1e17
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
2019-07-05 12:03:25 +03:00
Dmitry Stogov
806e38a3a4
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Improve zend_binary_assign_op helpers. Reorder opcode numbers to make ADD-POW and ASSIGN_ADD-ASSIGN_POW opcodes sequencional.
2019-07-04 17:37:52 +03:00
Dmitry Stogov
ef05eab432
Improve zend_binary_assign_op helpers.
...
Reorder opcode numbers to make ADD-POW and ASSIGN_ADD-ASSIGN_POW opcodes sequencional.
2019-07-04 17:25:43 +03:00