Commit Graph

263 Commits

Author SHA1 Message Date
dzaima
f81b680aad NOTM 2021-11-29 22:40:12 +02:00
dzaima
4f66b6b88a native namespace creation 2021-11-29 16:44:20 +02:00
dzaima
ef5864afbc global name list 2021-11-29 00:21:41 +02:00
dzaima
0389eda29b inverse modifiers 2021-11-25 00:24:16 +02:00
dzaima
55c1d79d86 headers for immediate modifiers 2021-11-22 10:56:18 +02:00
dzaima
f55e349999 inverse headers 2021-11-21 21:03:14 +02:00
dzaima
896049ab12 directly call scope_freeF from scope_dec 2021-11-20 17:30:09 +02:00
dzaima
ff6e6aa9c7 clean up evalBC 2021-11-20 16:56:54 +02:00
dzaima
c79e260e34 m_v[1234] → m_hVec[1234] 2021-11-20 01:05:14 +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
a663c0bbee reorder md*Bl_d 2021-11-03 19:08:24 +02:00
dzaima
9bcf8d7d64 bl_m*d → md*Bl_d 2021-11-02 18:34:34 +02:00
dzaima
6aaaaeb39c more consistent print method naming scheme 2021-11-02 18:32:25 +02:00
dzaima
f9253a477e fix zero printing 2021-10-28 22:03:51 +03:00
dzaima
0deb5cfcd4 add missing bytecodes to FOR_BC 2021-10-28 21:55:18 +03:00
dzaima
06c7e40642 ⋄ → ; in DEBUG_VM 2021-10-28 21:22:15 +03:00
dzaima
470bb0968a use hex in printBC 2021-10-28 21:21:25 +03:00
dzaima
e526fede86 clean up DEBUG_VM 2021-10-28 20:46:30 +03:00
dzaima
5c59f0de6f make precompiled.bqn work 2021-10-14 18:34:28 +03:00
dzaima
363309a218 some cleanup 2021-10-11 21:50:16 +03:00
dzaima
debc4e2afe don't truncate max stack size 2021-10-09 14:47:26 +03:00
dzaima
71de4fcc59 don't use x++ on bool 2021-10-04 16:19:46 +03:00
dzaima
1bca264db8 bitarrs 2021-10-03 23:18:30 +03:00
dzaima
3725bd58c7 hide unknown stackframes in non-debug mode 2021-10-01 23:08:48 +03:00
dzaima
34fb5c275a manual tables for bytecode switches 2021-10-01 22:48:33 +03:00
dzaima
ad436a07ee fix PRED in nested blocks 2021-10-01 20:25:23 +03:00
dzaima
c4cc861054 fix namespace assignment to special name list 2021-10-01 19:59:55 +03:00
dzaima
07ae36e672 faster loop when not yet seen PRED 2021-10-01 19:01:28 +03:00
dzaima
89c19662d8 argument remapping for PRED 2021-10-01 18:52:03 +03:00
dzaima
dc1295afb7 fix SETH in immediate bodies 2021-09-28 18:17:12 +03:00
dzaima
9631702b14 PRED 2021-09-28 18:09:22 +03:00
dzaima
751652c392 alternative JIT memory allocation if MAP_32BIT isn't sufficient 2021-09-26 22:00:19 +03:00
dzaima
2ddfc43682 function to print a sequence of bytecode 2021-09-25 23:19:23 +03:00
dzaima
084eaaecbd SETC 2021-09-25 23:05:15 +03:00
dzaima
4bdc1ec3cd squeeze objects
negative effect on performance, but whatever
2021-09-25 14:39:48 +03:00
dzaima
c1ff25a253 fix multi-body function error offset 2021-09-21 19:00:16 +03:00
dzaima
b38e8c9aeb normalize tag whitespace 2021-09-21 17:24:23 +03:00
dzaima
cd5f50e3eb incG 2021-09-16 17:09:12 +03:00
dzaima
a36ae1a716 pass untagged pointer to get & getU 2021-09-09 23:52:18 +03:00
dzaima
59dcde16c9 untag this pointer of modifier impl functions 2021-09-09 21:38:56 +03:00
dzaima
337a6bbc5e more changes 2021-09-09 18:42:48 +03:00
dzaima
563e4a8780 new bytecode numbering 2021-09-03 00:46:34 +03:00
dzaima
1d13a1ef07 •ReBQN with only the repl setting 2021-08-28 23:55:48 +03:00
dzaima
6b52c2069f compile-time separated DFND 2021-08-27 12:35:23 +03:00
dzaima
8f8828c671 fix no fill case in ⥊ and namespace destructuring in header 2021-08-22 04:58:01 +03:00
dzaima
a56a20b046 fix vm_fmtPoint on non-equal s and src types 2021-08-21 04:41:51 +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
521abe669d hopefully fix SETH refcounts 2021-08-16 00:48:15 +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
5d82350b0b fix more things about multiple bodies 2021-08-14 18:32:27 +03:00
dzaima
5c829a7fd7 fix wrong sortedness check for body indices 2021-08-12 05:11:34 +03:00
dzaima
849eeff465 initialize ia on allocation always 2021-08-03 02:57:46 +03:00
dzaima
749b098f1e use decR less 2021-07-31 22:40:33 +03:00
dzaima
c00834cf15 move mm_free call into virtual function so dec is simpler 2021-07-30 04:40:56 +03:00
dzaima
e04cd3c135 make gcc warn less 2021-07-22 03:38:25 +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
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
c192125a9c fix •file in REPL 2021-07-12 12:10:06 +03:00
dzaima
08723a3c80 use TI macros everywhere 2021-07-06 19:22:45 +03:00
dzaima
774db7a956 tagged bytecode position 2021-07-04 02:13:52 +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
3451cc48c2 0 parent scope loading 2021-07-02 22:26:14 +03:00
dzaima
c029703c3a cleaner stack reading 2021-07-02 18:42:58 +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
726451ed0c include path in errors 2021-06-29 22:54:37 +03:00
dzaima
a4446716bf compiler errors 2021-06-27 20:28:19 +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
0b7c5eb860 call counter for JIT 2021-06-22 02:27:12 +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
d454d4fa50 don't use EXTU 2021-06-17 17:09:53 +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
13e0d522e5 update readme, disable JIT by default 2021-06-11 03:56:07 +03:00
dzaima
b1d53f527f LEA, inline RETN 2021-06-10 19:40: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
7e994dd913 modifiable defines 2021-06-06 16:50:18 +03:00
dzaima
cdd4d136be make gcc happy 2021-06-04 15:47:26 +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
837a69b3aa don't allocate child blocks if not needed 2021-05-29 14:40:04 +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
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
3dbb492b78 separate push 2021-05-27 15:57:26 +03:00
dzaima
3b017648d8 extended variables, REPL support 2021-05-27 04:05:17 +03:00
dzaima
48229571ba proper bytecode rewriting 2021-05-26 16:34:36 +03:00
dzaima
7bf3b4be50 store directly needed blocks in bodies 2021-05-26 14:45:29 +03:00
dzaima
50e76c8c04 move some headers & defs around 2021-05-25 00:51:09 +03:00
dzaima
8cfa3e7f55 builtin initialization in load.c 2021-05-24 14:41:10 +03:00
dzaima
6b4c5913ff RT_VERIFY 2021-05-24 01:05:34 +03:00
dzaima
f4ec365a3e extern env & ti 2021-05-24 00:37:43 +03:00
dzaima
cc163fefe7 more extern 2021-05-24 00:16:03 +03:00
dzaima
b2b826be9b incremental compilation 2021-05-23 21:55:49 +03:00
dzaima
4fa7e33520 dyadic fast scans, ∨´, sorts and grade 2021-05-22 23:09:32 +03:00
dzaima
081c16029e +i32arr, ⌈i32arr, print live stack 2021-05-21 17:06:06 +03:00
dzaima
b8fe149d1f hashmaps, fast ⊐ 2021-05-20 19:24:54 +03:00
dzaima
23af3f56e9 faster VM_POS 2021-05-19 15:00:45 +03:00
dzaima
af9fbb7dc3 free simple scope-block reference cycles on bytecode exit 2021-05-19 00:28:46 +03:00
dzaima
d046d92390 optional source for precompiled programs 2021-05-16 13:42:58 +03:00
dzaima
c2013e3b5d •args, •FLines, command-line options, •Repr, fix unit∾unit fill 2021-05-15 17:51:17 +03:00
dzaima
77531e2d8f visit should take pointer as arg 2021-05-15 12:23:21 +03:00
dzaima
fb7bfcf188 free should take pointer as arg 2021-05-15 12:23:19 +03:00
dzaima
5dfa9e0e31 NSPM 2021-05-14 23:09:52 +03:00
dzaima
c5506657c3 native vector ⊔ 2021-05-14 20:08:38 +03:00
dzaima
67e93ae37a FLDO 2021-05-14 00:34:42 +03:00
dzaima
cd5eb4dfe9 •FChars, •FBytes 2021-05-12 16:31:01 +03:00
dzaima
98cb5fc310 vm.h 2021-05-11 16:10:49 +03:00
dzaima
9bdacbbd7d toCells, throw stack overflows 2021-05-10 13:41:27 +03:00
dzaima
2202200a6e stacktraces 2021-05-10 02:44:26 +03:00
dzaima
0dede67d2a namespaces 2021-05-09 16:01:19 +03:00
dzaima
8ed4019edf bi_emptyHVec, actually fix !GS_REALLOC 2021-05-08 15:47:04 +03:00
dzaima
6c349fc3ed fix !GS_REALLOC 2021-05-08 14:19:48 +03:00
dzaima
f70a8c558c option to not allow reallocating stack
with no benefits currently, whatever
2021-05-07 21:51:54 +03:00
dzaima
386cb75a1a accept new compiler output 2021-05-07 19:41:07 +03:00
dzaima
c9eab08569 i32arr⊏i32arr, isAtm, m_atomUnit 2021-05-02 19:14:25 +03:00
dzaima
2828a05dfc native », fill stuff 2021-05-01 04:21:14 +03:00
dzaima
755274ebb6 random type changes 2021-04-30 20:38:48 +03:00
dzaima
f36eddb01c fix ⟨a‿b⟩←⟨1‿2⟩ and ⟨3‿0,2‿1‿2⟩⊏6‿5⥊↕30 2021-04-30 00:55:28 +03:00
dzaima
7786beeed1 clean up err stuff 2021-04-29 00:06:27 +03:00
dzaima
3ebdb16571 ahead-of-time computed scope parents
not much of a difference in performance, but whatever
2021-04-28 23:35:05 +03:00
dzaima
a3e78e651e random cleanup 2021-04-28 12:38:02 +03:00
dzaima
9003a5df99 partially written arrays 2021-04-27 21:44:00 +03:00
dzaima
f922aa2422 FOR_BC 2021-04-27 15:34:16 +03:00
dzaima
271479c511 use getU more 2021-04-26 11:45:12 +03:00
dzaima
365caec21b in-place eachd 2021-04-24 01:28:07 +03:00
dzaima
4f8dd1b178 native fns, runtime perf 2021-04-24 00:57:04 +03:00
dzaima
70291dc060 clean up test stuff 2021-04-22 16:16:59 +03:00
dzaima
e345f37605 ⎊ and proper _fillBy_ 2021-04-17 00:53:23 +03:00
dzaima
38ab8ecf96 error catching option 2021-04-15 02:10:30 +03:00
dzaima
889f633bd3 catch errors 2021-04-15 01:20:50 +03:00