dzaima
|
572bc04459
|
move interrupt check to its own header
|
2022-06-03 16:02:02 +03:00 |
|
dzaima
|
7a21f9ef73
|
experimental REPL interrupting
|
2022-06-03 15:38:32 +03:00 |
|
dzaima
|
b8701d3502
|
more descriptive paths for self-hosted files
|
2022-05-29 22:20:50 +03:00 |
|
dzaima
|
960ae96591
|
show source-less & path-less entries in the profiler
|
2022-05-29 22:16:42 +03:00 |
|
dzaima
|
0380ee2a40
|
fix wasm builds
|
2022-05-29 22:05:04 +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
|
e979faea0e
|
put mnvmExecBodyInline under a JIT_START check
|
2022-04-29 22:46:59 +03:00 |
|
dzaima
|
de65d8a59b
|
fix double-increment
|
2022-04-27 21:33:33 +03:00 |
|
dzaima
|
6abce22447
|
micro-optimize execBodyInline
|
2022-04-27 20:15:47 +03:00 |
|
dzaima
|
11d95b67d5
|
better error messages for no inverse header
|
2022-04-15 23:20:44 +03:00 |
|
dzaima
|
f136ca5e97
|
rename confusing m_funBlock to evalFunBlock
|
2022-04-07 17:36:02 +03:00 |
|
dzaima
|
69067b8fcc
|
decG round 2
|
2022-04-07 15:15:28 +03:00 |
|
dzaima
|
e7b551acc2
|
increase wasi stack size
|
2022-04-07 02:06:41 +03:00 |
|
dzaima
|
267a62d292
|
don't use mmap in allocStack for WASI
|
2022-04-07 00:04:12 +03:00 |
|
dzaima
|
e3baa868f7
|
put in a bit more effort printing messages while things are really bad
|
2022-04-06 22:38:51 +03:00 |
|
dzaima
|
b60bc7c3bf
|
disable realpath & mprotect for wasm
|
2022-04-06 19:16:35 +03:00 |
|
dzaima
|
4a316c9398
|
don't include setjmp.h when CATCH_ERRORS=0
|
2022-04-06 18:52:54 +03:00 |
|
dzaima
|
0c79b44ae0
|
output errors to stderr
|
2022-03-05 02:32:28 +02:00 |
|
dzaima
|
022d760c95
|
rethrow(), fix •primitives after errored •ReBQN execution
|
2022-03-04 18:29:21 +02:00 |
|
dzaima
|
3fb793526c
|
)erase; try to not oom on printing errors
|
2022-01-19 01:02:07 +02:00 |
|
dzaima
|
3536c351fa
|
preallocate oom message
|
2022-01-12 14:05:08 +02:00 |
|
dzaima
|
675a0e8045
|
make body->bl an owned pointer
|
2022-01-11 00:32:58 +02:00 |
|
dzaima
|
3a510f99e5
|
pass direct u32 to bc_repr
|
2022-01-10 20:25:33 +02:00 |
|
dzaima
|
5cde913c78
|
•CurrentError
|
2022-01-08 21:55:19 +02:00 |
|
dzaima
|
2602a6499d
|
rename block types
|
2021-12-31 17:48:19 +02:00 |
|
dzaima
|
08f04a8521
|
pass untagged pointer to under functions
|
2021-12-30 21:52:29 +02:00 |
|
dzaima
|
c7a6176be3
|
store untagged modifier in derived function object
|
2021-12-30 03:01:02 +02:00 |
|
dzaima
|
bebf1e4255
|
error location for autogenerated FAIL bodies
and also more )gc things
|
2021-12-25 18:01:52 +02:00 |
|
dzaima
|
7e89e190f2
|
)vars
|
2021-12-19 01:32:36 +02:00 |
|
dzaima
|
9e6b8ecaae
|
throw error on reaching heap size limit if reasonable
|
2021-12-12 23:29:09 +02:00 |
|
dzaima
|
3da8302249
|
cast ptrdiff to i64
|
2021-12-10 21:40:13 +02:00 |
|
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 |
|