Commit Graph

172 Commits

Author SHA1 Message Date
dzaima
5de154fb54 option to flush perf map after each write
e.g. for use while live debugging
2022-07-10 04:23:17 +03:00
dzaima
1a9d2d0118 apparently apple clang 11.0.3 infinite-loops on mmap_nvm too 2022-07-03 02:18:14 +03:00
dzaima
1fd88c1749 clean up ascii/utf8 functions 2022-06-15 15:31:57 +03:00
dzaima
f9d251ec08 ARRO/ARRM→LSTO/LSTM 2022-06-14 02:12:37 +03:00
dzaima
5e0bda6a28 ARMO & ARMM 2022-06-14 02:09:41 +03:00
dzaima
d4da8a1127 update stack pointer before allocations 2022-06-03 20:54:23 +03:00
dzaima
6aada8338e proper state restore after failed allocation in codegen 2022-06-03 17:17:30 +03:00
dzaima
e2fda60745 profiler 2022-05-29 22:02:50 +03:00
dzaima
409524d958 noinline version of vec_add 2022-05-11 18:31:49 +03:00
dzaima
6abce22447 micro-optimize execBodyInline 2022-04-27 20:15:47 +03:00
dzaima
f136ca5e97 rename confusing m_funBlock to evalFunBlock 2022-04-07 17:36:02 +03:00
dzaima
f4aee96e65 fix mmX_dumpHeap signature 2022-04-06 19:10:59 +03:00
dzaima
d66ade1303 remove i_ARR_2 from write_asm 2022-03-21 23:12:46 +02:00
dzaima
60d3ba8c64 singeli collect 2022-03-20 00:30:06 +02:00
dzaima
ba6e2adb5d inline i_ARR_2 2022-03-20 00:28:36 +02:00
dzaima
4de990a73b bit of singeli cleanup, JIT comment 2022-03-18 15:24:13 +02:00
dzaima
b7ec175901 rename •term.Raw→•term.RawMode 2022-03-10 19:04:24 +02:00
dzaima
0177680ddb include JIT memory in heap dump 2022-03-07 01:20:34 +02:00
dzaima
de4914991a •term.OutRaw, •term.ErrRaw 2022-02-25 18:20:25 +02:00
dzaima
71c9c67e46 •bit._cast⁼, support inverses of 1- and 2-modifier builtins 2022-02-05 02:45:40 +02:00
dzaima
2e2dcb3134 ⌜ impls 2022-01-23 17:38:55 +02:00
dzaima
3a510f99e5 pass direct u32 to bc_repr 2022-01-10 20:25:33 +02:00
dzaima
ade183e635 bunch of header file changes 2022-01-06 01:17:10 +02:00
dzaima
ef5864afbc global name list 2021-11-29 00:21:41 +02:00
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