Dmitry Stogov
|
dde8309108
|
Use reference to previous instruction instead of its length
|
2022-11-18 13:59:49 +03:00 |
|
Dmitry Stogov
|
ae19ad7c79
|
Eliminate unnecessary loops
|
2022-11-18 12:47:15 +03:00 |
|
Dmitry Stogov
|
02f8b2508f
|
Add ir_unique_const_addr() to allow external hashing
|
2022-11-10 00:24:33 +03:00 |
|
Dmitry Stogov
|
889f7741d4
|
Reorder control instruction according to their kind
(BB_START, BB_END, BB_TERM)
|
2022-11-09 21:52:08 +03:00 |
|
Dmitry Stogov
|
3535fd2fc4
|
Fix compilation warnings and signed/unsigned mess
|
2022-11-08 23:09:35 +03:00 |
|
Dmitry Stogov
|
cc73788981
|
Fix compilation warnings
|
2022-11-08 18:17:29 +03:00 |
|
Dmitry Stogov
|
551ea4d2a0
|
Fix incorrect RSTORE flags
|
2022-11-08 15:25:01 +03:00 |
|
Dmitry Stogov
|
cc56f12f13
|
Add LICENSE and copyright notices
|
2022-11-08 11:32:46 +03:00 |
|
Dmitry Stogov
|
d619efa0ad
|
Add support for ENDBR
|
2022-10-27 12:58:04 +03:00 |
|
Dmitry Stogov
|
95e6cafe7c
|
cleanup
|
2022-10-26 16:06:16 +03:00 |
|
Dmitry Stogov
|
9b7835a05e
|
Use ir_emit_exitgroup() helper API instead of IR_EXITGROUP node
|
2022-10-26 15:46:59 +03:00 |
|
Dmitry Stogov
|
2dea40bfab
|
Add API to patch native code
|
2022-10-26 13:44:44 +03:00 |
|
Dmitry Stogov
|
9f472c1c91
|
Add support for deoptimization and binding to multiple slots
|
2022-10-21 17:16:25 +03:00 |
|
Dmitry Stogov
|
d2a0347b21
|
Merge basic blocks by removing connected END to BEGIN nodes
|
2022-10-05 16:29:49 +03:00 |
|
Dmitry Stogov
|
494c9225a9
|
Refactor trace related helpers
|
2022-09-29 01:25:42 +03:00 |
|
Dmitry Stogov
|
8f5768628a
|
Initial support for tracing JIT
|
2022-09-23 12:22:59 +03:00 |
|
Dmitry Stogov
|
367e47ac30
|
Support for preallocated stack (ZEND_VM_HYBRID_JIT_RED_ZONE_SIZE in PHP VM)
|
2022-09-15 15:39:15 +03:00 |
|
Dmitry Stogov
|
ad59556d85
|
Add support for binding IR nodes to "external" spill slots (e.g. PHP VM stack slots)
|
2022-09-15 15:26:43 +03:00 |
|
Dmitry Stogov
|
11db21a98c
|
Allow SCCP to grow use_lists (through reallocation)
|
2022-09-14 15:14:18 +03:00 |
|
Dmitry Stogov
|
65f439f198
|
Turn ir_addrtab into more general ir_hashtab
|
2022-09-07 00:04:02 +03:00 |
|
Dmitry Stogov
|
76028e8855
|
Fix compilation warnings
|
2022-09-05 22:43:27 +03:00 |
|
Dmitry Stogov
|
fb0d5fd87c
|
Improve GUARD instructions support
|
2022-09-02 13:54:31 +03:00 |
|
Dmitry Stogov
|
32198c00b7
|
Reimplement JMP optimization
|
2022-08-30 23:15:20 +03:00 |
|
Dmitry Stogov
|
36a5bdaf43
|
Improve support for fixed prologue/epilogue
|
2022-08-11 13:32:44 +03:00 |
|
Dmitry Stogov
|
1820972a21
|
Use PHP memory manager
|
2022-08-10 17:41:14 +03:00 |
|
Dmitry Stogov
|
3c4135576a
|
Add TRAP instruction
|
2022-07-20 17:59:44 +03:00 |
|
Dmitry Stogov
|
907c22261d
|
Turn IR_TLS into "load"
|
2022-06-28 00:03:06 +03:00 |
|
Dmitry Stogov
|
fe333adfa1
|
Add ability to force fix/restore some predefied registers
|
2022-06-23 22:39:00 +03:00 |
|
Dmitry Stogov
|
1bc5dc43dd
|
Add IR_STUB flag
|
2022-06-23 17:06:22 +03:00 |
|
Dmitry Stogov
|
c9fa87e6c4
|
Support for fastcall caling convention.
(this should be reimplemented through function prototypes)
|
2022-06-23 13:14:30 +03:00 |
|
Dmitry Stogov
|
56c8b372a8
|
Replace ir_insn.emit_const by ir_insn.const_flags
|
2022-06-23 11:25:47 +03:00 |
|
Dmitry Stogov
|
2148f05392
|
Initial support for fascall calling convention (incomplete)
|
2022-06-22 23:59:56 +03:00 |
|
Dmitry Stogov
|
a165c43196
|
Initial support for thread local storage + optimization of some related code selection patterns
|
2022-06-22 16:02:43 +03:00 |
|
Dmitry Stogov
|
082bcf89c9
|
Use ir_ctx.fixed_regset to limit available registers
|
2022-06-21 16:13:14 +03:00 |
|
Dmitry Stogov
|
be054efb97
|
Use function API intead of macros
|
2022-06-21 11:24:42 +03:00 |
|
Dmitry Stogov
|
411dd20331
|
Support for code fragments with multiple entries
|
2022-06-16 23:49:27 +03:00 |
|
Dmitry Stogov
|
ac5c3981e5
|
Allow LOOP_BEGIN to have multiple input back-edges
|
2022-06-16 12:31:23 +03:00 |
|
Dmitry Stogov
|
3f6c1ee0f5
|
cleanup
|
2022-06-15 22:48:19 +03:00 |
|
Dmitry Stogov
|
5fb115ab11
|
Remove LOOP_EXIT
|
2022-06-15 17:27:31 +03:00 |
|
Dmitry Stogov
|
f841fb6c34
|
Initial support for guards
|
2022-06-14 16:27:33 +03:00 |
|
Dmitry Stogov
|
af4558e439
|
Allow emitting native code into preallocated buffer
|
2022-06-10 11:30:19 +03:00 |
|
Dmitry Stogov
|
5cafe50d36
|
Initial support for PHP
|
2022-06-10 00:16:29 +03:00 |
|
Dmitry Stogov
|
ad052c59ab
|
cleanup
|
2022-06-06 22:36:11 +03:00 |
|
Dmitry Stogov
|
30e11861dd
|
Aarch64 back-end (incomplete)
|
2022-06-03 00:38:49 +03:00 |
|
Dmitry Stogov
|
91bddc09ed
|
Cleanup & unification
|
2022-06-01 00:34:45 +03:00 |
|
Dmitry Stogov
|
00c300fc9f
|
Start Aarch64 back-end
|
2022-05-31 11:22:31 +03:00 |
|
Dmitry Stogov
|
41f3e43cf7
|
cleanup
|
2022-05-27 13:18:04 +03:00 |
|
Dmitry Stogov
|
3e1816a71f
|
Fix register allocation for ABS_INT
|
2022-05-27 00:11:31 +03:00 |
|
Dmitry Stogov
|
7e782a291a
|
Extend disassembler to support .rodata section and IP relative data labels
|
2022-05-26 01:17:02 +03:00 |
|
Dmitry Stogov
|
19e93fd3f6
|
Allow multi-target test suite
|
2022-05-25 17:38:22 +03:00 |
|