dzaima
3ab92ecd66
explicit pointer → u64 conversion
...
work towards gcc 32-bit x86 builds. (gcc sign-extended pointers without this changeset)
gcc miscompiles `union B` usage though (https://godbolt.org/z/hEWKdc5PK ), which I can do nothing about, so clang is still the only option for 32-bit x86 builds
2022-08-10 10:20:48 +03:00
dzaima
046284b96f
random cleanup
2022-07-22 03:59:44 +03:00
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