Commit Graph

148 Commits

Author SHA1 Message Date
dzaima
29bf1f1234 don't pointlessly copy register 2021-11-22 11:22:50 +02:00
dzaima
7168633f35 lGPos is set by following GET 2021-11-22 11:11:35 +02:00
dzaima
55c1d79d86 headers for immediate modifiers 2021-11-22 10:56:18 +02:00
dzaima
5484c109ea return value from ptr_inc 2021-11-20 00:58:18 +02:00
dzaima
2baa9ac196 fix & speed up variable modification fns 2021-11-18 01:10:30 +02:00
dzaima
3ba3558c93 fills for monadic ⋈ 2021-11-13 23:00:36 +02:00
dzaima
68e1590325 machine code generation rework 2021-11-12 16:43:19 +02:00
dzaima
ae07fd2312 remove pos updating for immediate SETN 2021-11-07 18:45:57 +02:00
dzaima
044431bb7d less bad way of doing JIT jumps 2021-10-16 13:08:00 +03:00
dzaima
9631702b14 PRED 2021-09-28 18:09:22 +03:00
dzaima
eca2a7eca4 wrap MAP_FIXED_NOREPLACE in an ifdef 2021-09-26 22:41:41 +03:00
dzaima
751652c392 alternative JIT memory allocation if MAP_32BIT isn't sufficient 2021-09-26 22:00:19 +03:00
dzaima
084eaaecbd SETC 2021-09-25 23:05:15 +03:00
dzaima
f73da4d7eb fix offset for JIT 2021-09-21 19:10:40 +03:00
dzaima
5db4967500 lamer JIT constant array folder 2021-09-20 13:24:04 +03:00
dzaima
7cc37e2723 special-case JIT ARRO for 1 and 2 items 2021-09-20 13:17:51 +03:00
dzaima
93f362c4f2 use str8l more 2021-09-11 23:52:27 +03:00
dzaima
d8d56bbdd4 TmpFile→I8Arr 2021-09-10 15:24:07 +03:00
dzaima
4299fef6b6 clz macro 2021-09-05 21:05:19 +03:00
dzaima
563e4a8780 new bytecode numbering 2021-09-03 00:46:34 +03:00
dzaima
6b52c2069f compile-time separated DFND 2021-08-27 12:35:23 +03:00
dzaima
3991efd3cd full SETH 2021-08-21 03:32:11 +03:00
dzaima
a99a80a7a0 VFYM 2021-08-19 00:37:54 +03:00
dzaima
7d43d74b28 make evalBC consume the scope 2021-08-16 02:24:34 +03:00
dzaima
0abb24821d fix SETH in JIT too 2021-08-16 01:28:05 +03:00
dzaima
0af6895f4b unfinished SETH 2021-08-15 03:54:13 +03:00
dzaima
de86ce2aaa src/README.md, and cleaning up things while at it 2021-08-14 21:27:06 +03:00
dzaima
849eeff465 initialize ia on allocation always 2021-08-03 02:57:46 +03:00
dzaima
7ee8d642dc trailing newlines 2021-07-20 22:18:37 +03:00
dzaima
0bcf3b592f more comparison type fixing
and some more / opt to make it not slower
2021-07-20 21:56:35 +03:00
dzaima
68c2332fef return on FAIL 2021-07-20 19:58:34 +03:00
dzaima
9c66cbbb4b move noinline fns out of .h files 2021-07-19 03:48:52 +03:00
dzaima
1719374e0a make ubsan happier, optimize nextBC
still doesn't like f==(f64)(someIntType)f but that's, like, not replaceable
2021-07-17 21:25:11 +03:00
dzaima
9ae1ab80cf multiple body support 2021-07-16 22:42:22 +03:00
dzaima
ed691f3dae joined 2buddy 2021-07-12 00:17:59 +03:00
dzaima
8f3f9ba114 don't read mmInfo from RAM 2021-07-11 23:24:13 +03:00
dzaima
2a0b91e7b4 counters instead of allocB 2021-07-11 23:07:07 +03:00
dzaima
48380be063 separate allocB for mmX 2021-07-11 22:09:26 +03:00
dzaima
1d5e7212fd extract bucket definitions from template 2021-07-11 21:13:41 +03:00
dzaima
fc4d36de07 test for MAP_32BIT to enable JIT 2021-07-06 20:04:14 +03:00
dzaima
d063e83a8d apparently BSZI is barely used 2021-07-05 01:22:49 +03:00
dzaima
7bc8856cd1 inline LOCU 2021-07-05 01:05:43 +03:00
dzaima
2a49cf8205 update objdump usage 2021-07-04 13:49:27 +03:00
dzaima
774db7a956 tagged bytecode position 2021-07-04 02:13:52 +03:00
dzaima
223d6ccca0 GS_SET on RET_ only when needed 2021-07-04 00:56:43 +03:00
dzaima
51c41f0766 push out perf/writing stuff from m_nvm 2021-07-03 23:32:56 +03:00
dzaima
72896feb8f merged SET_i+POPS 2021-07-03 18:04:27 +03:00
dzaima
7999683edf skip value checking for builtin loading
perf is reporting an 0.15% increase in instruction count (what?), but that's not gonna stop me
2021-07-03 02:38:09 +03:00
dzaima
08df9bfe7b arrP_sh* → arr_sh* 2021-07-03 01:38:56 +03:00
dzaima
c52a042eb4 return Arr* from slices 2021-07-03 01:25:55 +03:00
dzaima
49810ce8bc rename mm_allocN 2021-07-03 00:27:20 +03:00
dzaima
d8b2ac0268 delay tagging 2021-07-03 00:02:56 +03:00
dzaima
693f8e0139 CSTACK==0 didn't work anyway 2021-07-02 22:29:16 +03:00
dzaima
3451cc48c2 0 parent scope loading 2021-07-02 22:26:14 +03:00
dzaima
be5c22af37 update gStack only when needed
a tiny 0.13% improvement
2021-07-02 22:19:11 +03:00
dzaima
387f8f7581 stack management for RETD & FLDO 2021-07-02 19:57:16 +03:00
dzaima
b1b3b7eed3 stack management for DFND 2021-07-02 19:36:54 +03:00
dzaima
9de843aeb5 stack management for FN_Oi 2021-07-02 19:27:52 +03:00
dzaima
ee93543af3 stack management for TR__/OP__
0.06% less performance, but these changes aren't for performance
2021-07-02 19:20:23 +03:00
dzaima
475fe269a8 better GET 2021-07-02 19:03:23 +03:00
dzaima
a1113c418e stack management for FN__ 2021-07-02 18:50:18 +03:00
dzaima
c029703c3a cleaner stack reading 2021-07-02 18:42:58 +03:00
dzaima
3ebaed2b35 stack management for SET_i 2021-07-02 18:26:35 +03:00
dzaima
a7e8678a16 stack management for SET_ 2021-07-02 18:15:32 +03:00
dzaima
2a7eebad93 move instruction length offsets to instruction generation 2021-07-02 18:02:20 +03:00
dzaima
bad72186de manually allocate parent scope array
~0.11% performance improvement for safe prim tests
2021-07-01 23:10:47 +03:00
dzaima
a6c4f8c84d use named R_BP
and fix named R_BP
2021-07-01 21:25:18 +03:00
dzaima
b009b40329 move relative addressing updating to x86_64.h 2021-07-01 18:33:19 +03:00
dzaima
98166dd809 nvm placeholder, enable nvm by default 2021-06-26 03:31:55 +03:00
dzaima
d4be37469e move src/jit/nvm.c 2021-06-26 03:13:02 +03:00
dzaima
287b55515a constant-fold arrays 2021-06-26 02:14:01 +03:00
dzaima
eac62d4c29 inline i_FN1Ci and i_FN2Ci 2021-06-26 01:29:23 +03:00
dzaima
8b561a065a offset envCurr by 1 2021-06-25 18:03:54 +03:00
dzaima
c2d0ce5568 MOV1l→MOVi1l 2021-06-22 17:12:23 +03:00
dzaima
953ea0d20d use execBodyInline everywhere 2021-06-22 01:35:00 +03:00
dzaima
cbd113870a rename registers 2021-06-22 01:34:08 +03:00
dzaima
0c3ffb2fd8 inline LOCO 2021-06-22 01:07:12 +03:00
dzaima
c1d62b8739 shut up gcc 2021-06-21 17:45:57 +03:00
dzaima
d761ee5a46 parent scope unrolling 2021-06-21 02:03:13 +03:00
dzaima
286f1e19db pass precalculated scope to instrs 2021-06-20 18:02:31 +03:00
dzaima
60abb1cdcc new x86-64 stuff 2021-06-20 17:40:27 +03:00
dzaima
d27dc57bed CHKV 2021-06-19 21:16:23 +03:00
dzaima
fb02f30259 merged LOCM;SET_ 2021-06-19 02:19:28 +03:00
dzaima
d47d538a16 ugh 2021-06-17 17:29:59 +03:00
dzaima
d454d4fa50 don't use EXTU 2021-06-17 17:09:53 +03:00
dzaima
16b4f5b4c2 proper ASM printing toggle, include function names 2021-06-16 03:48:40 +03:00
dzaima
4322fb8232 basic constant folding 2021-06-16 03:03:31 +03:00
dzaima
1afe46b393 move TAlloc/TStack around, immediate functions 2021-06-15 01:20:32 +03:00
dzaima
017b26a04a fix gcc, more readme changes 2021-06-11 04:59:31 +03:00
dzaima
9b279dd6c7 make IMM a function 2021-06-10 22:48:43 +03:00
dzaima
a0553b9798 faster nvm.c compiling 2021-06-10 22:37:11 +03:00
dzaima
4833cb37b8 constant LOCM 2021-06-10 21:02:03 +03:00
dzaima
27c7ffe5d4 don't pass stack pointer to things that don't need it 2021-06-10 20:42:17 +03:00
dzaima
64b4a72d93 remove some MOVs 2021-06-10 20:08:15 +03:00
dzaima
b1d53f527f LEA, inline RETN 2021-06-10 19:40:29 +03:00
dzaima
987ba1d139 store top stack item in register 2021-06-10 13:25:17 +03:00
dzaima
981ba0e261 local stack pointer in JIT 2021-06-10 01:42:29 +03:00
dzaima
550b91688a extremely basic x86-64 generator 2021-06-09 18:47:50 +03:00