1
0
mirror of https://github.com/php/php-src.git synced 2026-04-17 13:01:02 +02:00
Commit Graph

229 Commits

Author SHA1 Message Date
Dmitry Stogov
ea0110f0de Improve registers reuse 2020-04-16 14:35:51 +03:00
Nikita Popov
dd163d05ff Remove OP_RANGE_EX distinction
Only leave OP_RANGE macros, which always have the "EX" behavior.

This was already done for most other macros before, but these
were missed. This helps avoid mistakes by using the wrong macro.
2020-04-15 13:00:36 +02:00
Dmitry Stogov
99084262c3 Use proper macro 2020-04-15 13:09:55 +03:00
Dmitry Stogov
782dc8d73b Removed unused parameter 2020-04-15 13:08:09 +03:00
Dmitry Stogov
11c5c78401 Added missed '~' 2020-04-14 15:37:20 +03:00
Dmitry Stogov
0a408be0d2 Separate zend_jit_dump_lifetime_interval() function 2020-04-10 16:10:19 +03:00
Dmitry Stogov
d3dda1e0f1 Fixed overflow handling 2020-04-10 14:42:26 +03:00
Dmitry Stogov
66f2ebe448 Register allocator refactoring 2020-04-09 19:31:18 +03:00
Dmitry Stogov
41c2b275f7 cleanup 2020-04-09 14:33:29 +03:00
Dmitry Stogov
ba64b3fd41 Don't get number of passed arguments from "fake" INIT frames 2020-04-09 13:38:40 +03:00
Dmitry Stogov
3042b2b201 Dump information about trace side exits 2020-04-08 12:39:24 +03:00
Dmitry Stogov
f915b5516c Update stack type, only if necessary 2020-04-08 10:34:24 +03:00
Dmitry Stogov
a172e056a0 Fixed TYPE/INFO mismatch 2020-04-08 00:27:19 +03:00
Dmitry Stogov
4e69970fb7 cleanup 2020-04-07 21:37:10 +03:00
Dmitry Stogov
cff7703a61 Revert "cleanup" (wrong commit)
This reverts commit 5db5f71f28.
2020-04-07 21:34:18 +03:00
Dmitry Stogov
5db5f71f28 cleanup 2020-04-07 21:30:47 +03:00
Dmitry Stogov
864b1cc3ef Free room for information about register allocation at astact stack and at trace_exit_info. Implement simple deoptimizer. 2020-04-07 12:01:48 +03:00
Dmitry Stogov
4006c0008e Save CPU regesters on side exit for deoptimization 2020-04-06 23:48:20 +03:00
Dmitry Stogov
c4bdf41862 Minor register allocator refactoring 2020-04-06 16:17:02 +03:00
Máté Kocsis
36935e42ea Improve undefined variable error messages
Closes GH-5312
2020-03-31 13:02:32 +02:00
Dmitry Stogov
44390beb42 cleanup 2020-03-30 14:27:01 +03:00
Dmitry Stogov
4c9ee6a8ca Initialize variable numbers 2020-03-30 12:50:19 +03:00
Dmitry Stogov
150df5b17c Removed useless variable 2020-03-27 12:24:15 +03:00
George Peter Banyard
3e6667d338 Fix -Wtype-limits warning by using correct type declaration in JIT trace
Namely int as that is the type of 'definition'

Closes GH-5299
2020-03-26 00:01:59 +01:00
Dmitry Stogov
51a305d2a4 Separate zend_jit_var_supports_reg() and cleanup 2020-03-25 23:09:32 +03:00
Dmitry Stogov
40fa6284eb Fixed incorrect "TSSA start" headers 2020-03-25 23:07:21 +03:00
Dmitry Stogov
0684b9fcdc Always print numeric opline numbers 2020-03-25 14:26:42 +03:00
Dmitry Stogov
ce8202f996 Rename "var" to "stack". This is an abstract stack that holds TSSA variable numbers. 2020-03-25 10:49:01 +03:00
Dmitry Stogov
af3142daaf Make SSA dump format controlled by opcache.jit_debug more readable (always print opcode number).
This doesn't affect dumps controlled by opcache.opt_debug_level.
2020-03-24 22:44:11 +03:00
Nikita Popov
e88c7bf5c7 Fix signed integer overflow UB in dasm
Should hopefully fix the ubsan and community builds.
2020-03-23 11:12:42 +01:00
Nikita Popov
6766b5f9bc Fix pointer UB in dynasm
Looks like newer GCC versions started warning about this.
2020-03-23 11:03:56 +01:00
Tyson Andre
26b9780d02 Fix compilation error on mac with -Wshift-negative-value
Fix for mac OS build error seen in ccc49ead68
when shifting -1 (max argument count?)

```
ext/opcache/jit/zend_jit_trace.c:1668:2:
error: shifting a negative signed value is undefined
[-Werror,-Wshift-negative-value]
        TRACE_FRAME_INIT(frame, op_array, 0, -1);
```

Closes GH-5284.
2020-03-23 09:24:26 +01:00
Dmitry Stogov
4b8171e087 Add tracing JIT guards for INTI_FCALL_BY_NAME and INIT_NS_FCALL_BY_NAME 2020-03-20 16:59:02 +03:00
Dmitry Stogov
3715475381 JIT for INIT_NS_FCALL_BY_NAME 2020-03-20 15:36:40 +03:00
Dmitry Stogov
166bc64caf CAST to the same type mat be JIT-ed as QM_ASSIGN 2020-03-20 13:31:55 +03:00
Dmitry Stogov
517c30b05f JIT for FETCH_THIS 2020-03-20 12:33:41 +03:00
Dmitry Stogov
ccc49ead68 Change jit_trace_stack_frame layout 2020-03-20 10:54:45 +03:00
Dmitry Stogov
9232af91fd JIT for STRLEN 2020-03-20 01:23:36 +03:00
Dmitry Stogov
3958d5bdc5 JIT for ECHO and variable string operands 2020-03-20 01:01:33 +03:00
Dmitry Stogov
282265bccd JIT for SEND_FUNC_ARG 2020-03-19 23:59:11 +03:00
Dmitry Stogov
8e879b9f44 JIT for ZEND_CHECK_FUNC_ARG 2020-03-18 23:56:03 +03:00
Dmitry Stogov
c2f1c36e30 Eliminate run-time check 2020-03-18 21:19:31 +03:00
Dmitry Stogov
12cdab2d76 Improved JIT for BIND_GLOBAL 2020-03-18 17:20:40 +03:00
Nikita Popov
70ef2f3817 Use different scratch register in read_obj
We already use r0 to hold the zval.
2020-03-18 11:44:34 +01:00
Nikita Popov
69937870da Explicitly pass scratch register to SAVE_VALID_OPLINE 2020-03-18 11:44:25 +01:00
Dmitry Stogov
f767807986 Result of ASSIGN may be different from the assigned value when LHS is a typed reference 2020-03-18 01:40:41 +03:00
Dmitry Stogov
a8e8c40ad4 Use zend_fetch_arg_info_type() 2020-03-17 18:10:27 +03:00
Dmitry Stogov
29bef78e9f Use _const_op_type() for converting constant into type info 2020-03-17 17:55:34 +03:00
Dmitry Stogov
4b89d96489 Improved JIT for ZEND_ASSIGN 2020-03-17 15:45:54 +03:00
Nikita Popov
b1a082da25 Fix typos 2020-03-17 12:59:37 +01:00