Commit Graph

996 Commits

Author SHA1 Message Date
Dmitry Stogov
05db256d87 Dot't print exit code after "--run" (delegate this to tester) 2023-12-13 15:59:54 +03:00
Dmitry Stogov
fb10fa2861 Fixed support for "symbolic" data references 2023-12-13 13:37:17 +03:00
Dmitry Stogov
755be821ca Pass the arguments following the "--run" option to JIT-ed main(). 2023-12-13 12:07:04 +03:00
Dmitry Stogov
8065a69830 Use qsort() instead of not portables qsort_r() or qsort_s() 2023-12-12 02:01:37 +03:00
Dmitry Stogov
eeed93083e Restore ability to reach "local" exit table base address 2023-12-11 15:06:52 +03:00
Dmitry Stogov
dab739f3d2 Fix Windows tests 2023-12-08 17:46:12 +03:00
Dmitry Stogov
1e8ff8078a Cleanup symbolic constants usage 2023-12-08 17:35:41 +03:00
Dmitry Stogov
f7377e806d Fix Windows build 2023-12-08 02:03:02 +03:00
Dmitry Stogov
b7e7de5821 Simplify JIT code buffer management 2023-12-08 01:58:45 +03:00
Dmitry Stogov
8b2a536d74 Fixed incorrect ".debug_abbrev" section termination 2023-12-07 00:32:41 +03:00
Dmitry Stogov
6898d26e80 Allow code generation for functions with unesolved symbols 2023-12-06 16:30:44 +03:00
Dmitry Stogov
2c67a3ac86 Fixed support for forward declarations 2023-12-06 14:36:11 +03:00
Dmitry Stogov
0981d76cc7 iImproved LLVM export (builtin function support) 2023-12-06 12:47:03 +03:00
Dmitry Stogov
9a7318e621 Eliminate useless BITCAST 2023-12-06 10:40:28 +03:00
Dmitry Stogov
6a7a87529c Improve LLVM export (avoid duplicate function declarations) 2023-12-05 23:09:39 +03:00
Pengfei Li
384e1aa926 AArch64: Fix incorrect value of "ctx->code_size"
There is a typo in `ir_aarch64.dasc` that may set `ctx->code_size` to an
invalid value (-2). We don't find any test failure with the typo because
currently `ctx->code_size` is only used in `zend_jit_get_veneer()`. This
patch fixes the typo to avoid potential issues in the future.
2023-12-05 17:22:11 +03:00
Dmitry Stogov
86c87d1d1a LLVM allows "void" type only for function results 2023-12-05 11:06:47 +03:00
Dmitry Stogov
81fab9a2cb Fixed TAILCALL to CALL conversion 2023-12-04 11:32:26 +03:00
Dmitry Stogov
ed4fd9e5ef Added support for cache demotion 2023-12-01 11:51:09 +03:00
Dmitry Stogov
c5bf8003c0 On MacOS/AArch64 varargs must be passed on stack 2023-11-30 23:50:53 +03:00
Dmitry Stogov
a746ceb650 AArch64: Make x18 register allocatable on Linux 2023-11-30 21:27:30 +03:00
Dmitry Stogov
dd77b6b71a Fixed Windows build 2023-11-30 21:17:41 +03:00
Dmitry Stogov
76e6418cae Support for function prototypes 2023-11-30 21:10:41 +03:00
Dmitry Stogov
81047af575 Cleanup code-generation for VA_ARG 2023-11-23 22:52:08 +03:00
Dmitry Stogov
8c501e1989 Fixed VA_ARG support for WIN64 2023-11-23 20:55:10 +03:00
Dmitry Stogov
5bacc13b2c Add VA_ARG tests 2023-11-23 19:45:52 +03:00
Dmitry Stogov
25bd3024da Codegeneration for VA_ARG nodes (Windows and MacOS are not supported yet) 2023-11-23 19:38:33 +03:00
Dmitry Stogov
1671b3de78 Use common JIT code buffer on AArch64. It's also used for veneers. 2023-11-23 00:18:59 +03:00
Dmitry Stogov
46f041141a
Update reference to PHP master branch 2023-11-22 13:39:32 +03:00
Dmitry Stogov
18a3192604 JIT/AArch64: Add code-generation for IR_TRAP 2023-11-22 11:43:33 +03:00
Dmitry Stogov
1d6cf229ef Fix typo 2023-11-22 11:36:30 +03:00
Dmitry Stogov
68068c4f58 Split ir_ctx->flags into public and private (ir_ctx->flags2) 2023-11-17 14:24:33 +03:00
Dmitry Stogov
688f876928 mplemented code-generation for bit counting instructions 2023-11-16 22:48:05 +03:00
Dmitry Stogov
92ef948caf Implemented code-generation for CTPOP 2023-11-16 19:28:12 +03:00
Dmitry Stogov
d5596d815e Stop reporting zero exit code when run JIT-ed code 2023-11-16 13:57:37 +03:00
Dmitry Stogov
5e9d41f6b4 AArch64: Remove redundant memory unmap #12688 2023-11-16 11:50:57 +03:00
Dmitry Stogov
ea2de69592 Add bit counting nodes (JIT code generation is not supported yet) 2023-11-16 03:05:10 +03:00
Dmitry Stogov
90b6f34db2 Add FRAME_ADDR node 2023-11-16 01:59:26 +03:00
Dmitry Stogov
507175b228 Add VA_ARG nodes (JIT code generation is not supported yet) 2023-11-16 00:29:24 +03:00
Dmitry Stogov
e5b4c686df Added support for overflow math 2023-11-15 18:44:05 +03:00
Dmitry Stogov
0e421792ae Fixed support for both limits in llvm.sadd.sat and llvm.ssub.sat 2023-11-15 16:59:40 +03:00
Dmitry Stogov
a8e514266f Add support for some LLVM intrinsic 2023-11-15 15:17:36 +03:00
Dmitry Stogov
3f14ac4252 Fixed address constant duplication 2023-11-14 17:58:05 +03:00
Dmitry Stogov
fab41058d4 Properly save UNREACHABLE instruction eith third operand 2023-11-14 17:12:20 +03:00
Dmitry Stogov
a2c6f98e75 Improve LLVM loader support (incomplete) 2023-11-10 18:09:48 +03:00
Dmitry Stogov
1eaf5531e5 Fixed test 2023-11-08 10:20:55 +03:00
Dmitry Stogov
d2353ddfc1 Fixed typos in register definition 2023-11-08 10:13:57 +03:00
Dmitry Stogov
ec58853788 Validate opcode 2023-11-07 11:33:35 +03:00
Dmitry Stogov
091907f4a4 Fixed typo 2023-10-25 08:40:26 +03:00
Dmitry Stogov
dfd22749ac Fixed typo in folding rule 2023-10-25 08:28:05 +03:00