Commit Graph

450 Commits

Author SHA1 Message Date
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
dzaima
2685c598e6 native √ 2021-06-04 02:17:40 +03:00
dzaima
1489bc340d fix rtperf 2021-06-04 02:11:09 +03:00
dzaima
24f61bd5a5 move builtin defs to own file 2021-06-04 02:07:30 +03:00
dzaima
de66696e7a monadic ∨ 2021-06-04 01:57:07 +03:00
dzaima
6061a3c270 fix 'a'-¯1 2021-06-03 22:08:39 +03:00
dzaima
2b351cfee6 fix c32arr-i32arr error checking 2021-06-03 20:12:39 +03:00
dzaima
b84e6e549b fix refcount in •file.List 2021-06-01 23:53:38 +03:00
dzaima
ae470d64b2 fix bi_emptySVec creation 2021-06-01 23:38:15 +03:00
dzaima
f1b1686300 •file.List 2021-06-01 22:12:34 +03:00
dzaima
48ac839a1d make •Import work again 2021-06-01 20:45:39 +03:00
dzaima
882639c83e use nfns for file functions 2021-06-01 20:41:52 +03:00
dzaima
b4ffc3115a •Exit 2021-06-01 20:32:24 +03:00
dzaima
b47e52db9e preserve array reading through DONT_FREE 2021-06-01 17:52:51 +03:00
dzaima
b8c362247b fix F`fillarr leaking fill element
also print higher precision numbers
2021-06-01 17:13:43 +03:00
dzaima
62209961eb make int overflow not leak shape 2021-06-01 16:31:54 +03:00
dzaima
9cb82af14d decrement 𝕨 of •internal.ListVariations 2021-06-01 16:13:19 +03:00
dzaima
48a14a8854 •internal.ListVariations options 2021-06-01 14:10:53 +03:00
dzaima
b9fef0394e comparison should error on bad shapes of args 2021-06-01 13:47:10 +03:00
dzaima
75a6d1b307 more random 2021-06-01 02:12:30 +03:00
dzaima
c35e885ea1 nfns, basic random 2021-06-01 01:45:37 +03:00
dzaima
51e0bf4bc0 i forgot to decrement 2021-06-01 00:35:47 +03:00
dzaima
10e8339012 accept non-array args to •internal.Squeeze
and also float replicate
2021-05-31 22:54:37 +03:00
dzaima
36a27b8424 fix rank>1 empty array args for f64_maybe_i32 2021-05-31 21:34:47 +03:00
dzaima
c7ee14791e char arith, float comparison 2021-05-31 02:12:22 +03:00
dzaima
7caa7dceb5 properly fall back to runtime in native ⊏ 2021-05-30 02:46:49 +03:00
dzaima
4d8375fdfd make ⊏ safe 2021-05-30 02:38:29 +03:00
dzaima
16f379b6c7 fix gc/refc issues, set memory to invalid objects on free in debug 2021-05-30 01:55:59 +03:00
dzaima
74fe1f1243 random changes 2021-05-30 00:56:17 +03:00
dzaima
70dcc25c51 mm_buddyTemplate.c 2021-05-29 22:50:39 +03:00
dzaima
510de71095 fix append_fmt appending a null byte 2021-05-29 15:02:36 +03:00
dzaima
aa9cd8f514 •Type for namespaces 2021-05-29 14:47:42 +03:00
dzaima
837a69b3aa don't allocate child blocks if not needed 2021-05-29 14:40:04 +03:00
dzaima
4b94465469 c32 ⊔ so compiled string literals get to be c32arrs 2021-05-29 14:26:51 +03:00
dzaima
41ffb0f2ef •internal Variation, ListVariations, ClearRefs, Unshare 2021-05-29 14:07:57 +03:00
dzaima
038b27072f •internal namespace 2021-05-28 21:59:18 +03:00
dzaima
a2d90a2595 make unknown key reads properly error for cross-program reads 2021-05-28 16:15:30 +03:00
dzaima
9326aa9572 add missing shape equality check to fast dyadic arith 2021-05-28 13:48:59 +03:00
dzaima
23d823057a preserve -e/-p/-o scope between args 2021-05-28 13:40:42 +03:00
dzaima
ed46ec7a44 fix REPL top-level errors 2021-05-28 01:27:50 +03:00
dzaima
345a0bfc8b unsigned bytecode 2021-05-28 01:12:36 +03:00
dzaima
1b89661308 inline objects 2021-05-28 01:03:29 +03:00
dzaima
a0ec9c02c9 blocks are guaranteed pointers 2021-05-27 20:20:14 +03:00
dzaima
ff2af490b8 special-case appending atoms with ∾ 2021-05-27 20:13:22 +03:00
dzaima
3ad82faadd split fillEqual into rare and non-rare versions 2021-05-27 19:44:15 +03:00
dzaima
d9110e8b5a optimize v_get, v_set, and a bit of fills 2021-05-27 19:00:08 +03:00
dzaima
752a68cb2d static const tagged builtins 2021-05-27 18:08:21 +03:00
dzaima
48a9b786c9 don't poinlessly overallocate group fill size 2021-05-27 17:31:31 +03:00
dzaima
24e37b4a84 add back NOINLINE to c[12]_rare
it appears to maybe now be better in at least some cases?
2021-05-27 16:26:18 +03:00
dzaima
3dbb492b78 separate push 2021-05-27 15:57:26 +03:00
dzaima
f5ff4850c2 ⌾⊑ fills 2021-05-27 04:56:22 +03:00
dzaima
c2ecc40b4d fix vector ∾ fills 2021-05-27 04:46:12 +03:00
dzaima
3b017648d8 extended variables, REPL support 2021-05-27 04:05:17 +03:00