Commit Graph

402 Commits

Author SHA1 Message Date
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
9ee36dae94 fix TypeInfo.arrD1 for c32arr 2021-07-03 17:01:39 +03:00
dzaima
ee3ef4370c waste less on thrF 2021-07-03 02:55:22 +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
f75efbcc26 static harr.c functions 2021-07-03 02:04:31 +03:00
dzaima
ceb967bbd4 return Arr* from m_fillarrp 2021-07-03 01:53:26 +03:00
dzaima
08df9bfe7b arrP_sh* → arr_sh* 2021-07-03 01:38:56 +03:00
dzaima
d49d5a3e31 don't use arr_sh* 2021-07-03 01:37:54 +03:00
dzaima
c0a75327ef return Arr* from mut_fp 2021-07-03 01:25:55 +03:00
dzaima
c52a042eb4 return Arr* from slices 2021-07-03 01:25:55 +03:00
dzaima
daa8294252 return Arr* from m_(i32|c32|f64)arrp 2021-07-03 00:37:00 +03:00
dzaima
49810ce8bc rename mm_allocN 2021-07-03 00:27:20 +03:00
dzaima
43d0d1e043 delay tagging for arrays 2021-07-03 00:22:40 +03:00
dzaima
d8b2ac0268 delay tagging 2021-07-03 00:02:56 +03:00
dzaima
c62369c0c5 initialize objects a bit better
0.29% improvement
2021-07-02 23:07:46 +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
9fbc8203d0 free what should be freed in ⟨⟩/𝕩 2021-07-02 17:10:44 +03:00
dzaima
da9ab92bd5 set shape in ˘ 2021-07-02 15:43:50 +03:00
dzaima
60bef6879c fix printRaw 2021-07-02 15:30:42 +03:00
dzaima
8c2055ce22 fix speed of / 2021-07-02 15:27:29 +03:00
dzaima
018c209cec fix ⟨⟩/𝕩 2021-07-02 14:41:22 +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
f5cc8e17ac fix using runtime with source 2021-06-30 23:23:49 +03:00
dzaima
dbf246810c fix ⟨⟩ [⍋⍒] ↕4 2021-06-30 23:20:35 +03:00
dzaima
e5471e8f87 fix reference counts for comp->path 2021-06-30 23:16:08 +03:00
dzaima
b32074f4d1 support nested compilation 2021-06-30 22:54:33 +03:00
dzaima
383d649480 fix range calculation of ⊐ 2021-06-30 22:30:53 +03:00
dzaima
05a69415bd ∧´ 2021-06-30 00:01:41 +03:00
dzaima
84f58a2f87 fix refcounts 2021-06-29 22:58:32 +03:00
dzaima
1fd61c5467 make err NOINLINE 2021-06-29 22:55:34 +03:00
dzaima
726451ed0c include path in errors 2021-06-29 22:54:37 +03:00
dzaima
861a488719 2021-06-29 21:10:17 +03:00
dzaima
1ffd3a207a indent REPL 2021-06-27 21:24:48 +03:00
dzaima
a4446716bf compiler errors 2021-06-27 20:28:19 +03:00
dzaima
27b1e9ed8c native vec⊐scalar 2021-06-27 18:03:51 +03:00
dzaima
fdcb158ca5 rename 2021-06-26 19:23:45 +03:00
dzaima
d087898359 •math trig functions 2021-06-26 19:23:02 +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
d98bbb7a83 fix •MakeRand 2021-06-22 15:13:27 +03:00
dzaima
0b7c5eb860 call counter for JIT 2021-06-22 02:27:12 +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
b51cf8cfc2 fix CHKV 2021-06-19 21:28:57 +03:00
dzaima
d27dc57bed CHKV 2021-06-19 21:16:23 +03:00
dzaima
8ad686ab1b inline scope variable setting 2021-06-19 21:03:33 +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
d2a1d7c329 character ¬ 2021-06-12 15:08:05 +03:00
dzaima
017b26a04a fix gcc, more readme changes 2021-06-11 04:59:31 +03:00
dzaima
13e0d522e5 update readme, disable JIT by default 2021-06-11 03:56:07 +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
dzaima
96f3089410 proper i64 formatting, move openbsd hack up 2021-06-06 22:23:55 +03:00
dzaima
ebd6e1a222 maybe fix OpenBSD 2021-06-06 20:16:48 +03:00
dzaima
7e994dd913 modifiable defines 2021-06-06 16:50:18 +03:00
dzaima
47f8984e74 faster i32arrOfBools/ 2021-06-06 15:15:18 +03:00
dzaima
92b08de504 native (i32|·) [⌊⌈]´ i32vec 2021-06-06 05:10:52 +03:00
dzaima
cdd4d136be make gcc happy 2021-06-04 15:47:26 +03:00
dzaima
a124590465 faster variation stuff 2021-06-04 04:50:16 +03:00
dzaima
4e0ea07eb2 correct character fill 2021-06-04 03:16:48 +03:00
dzaima
62d73b6acf faster asFill 2021-06-04 03:15:01 +03:00
dzaima
ba28f7e892 faster ≡ 2021-06-04 02:36:11 +03:00