Nathan Braswell
|
c3315f04e5
Working basic guard that falls back to interp on fail
|
3 miesięcy temu |
Nathan Braswell
|
ff95c5d9e7
implemented Lookup (also fix passing wrong function to one of the stack functions or something)
|
3 miesięcy temu |
Nathan Braswell
|
23fbfe9db3
add JIT support for Define, Drop, and Const
|
3 miesięcy temu |
Nathan Braswell
|
525b103f38
swap ret_stack to a repr(C) struct for manipulation from JIT
|
3 miesięcy temu |
Nathan Braswell
|
fd843bc807
Swap ID to NonZeroI64 so Option<ID> is a single word and we can test for 0 in JIT for if we have an ID (for looking at ret_stack)
|
3 miesięcy temu |
Nathan Braswell
|
a4500fed36
Implement (but have not tested) all primitive functions in JIT)
|
3 miesięcy temu |
Nathan Braswell
|
99d4fa5021
first jitted instruction!
|
3 miesięcy temu |
Nathan Braswell
|
776fc7c921
integrated JIT compiler with simple generated do-nothing JIT traces. Modified JIT trace interface so that it can return a trace-id and offset to jump to, allowing the trace interpreter to handle hard cases, etc. (or in this case, all cases, as it just immediatly returns the current id and offset 0).
|
3 miesięcy temu |
Nathan Braswell
|
9cd46a31eb
had trouble getting going again today. Did create a compiled_traces map and integrated using it into execute_trace, with ideas for what the api there should be.
|
3 miesięcy temu |
Nathan Braswell
|
0ce6d90aa9
minor cleanup to wrap JIT stuff in a struct with a compile function and move to lib, in anticipation of actually JIT compiling. Not a ton of work today, was pretty tired / didn't get going.
|
3 miesięcy temu |
Nathan Braswell
|
facd9a34b9
Cranelift JIT experiments, with multiple functions, tail calls, non-tail-calls, calling host functions, etc
|
3 miesięcy temu |
Nathan Braswell
|
8e06037b4a
Finished porting everything over to new packed, JIT-friendly Form, with all the tracing!
|
3 miesięcy temu |
Nathan Braswell
|
069c9775e1
Ported interpreter (without trace execution) to use new packed, JIT-friendly Form, with all needed additions
|
3 miesięcy temu |
Nathan Braswell
|
0696ad5594
Finished-ish writing the new JIT-friendly, packed Form, this time with extra repr(C) Vec implementation
|
3 miesięcy temu |
Nathan Braswell
|
a16e126aa1
Started writing our new Form designed to be used from JIT with repr(C) and packed into a single word, and our own repr(C) Rc implementation to go with it.
|
3 miesięcy temu |
Nathan Braswell
|
56cd4f7088
cleanup, fix closure scope error
|
3 miesięcy temu |
Nathan Braswell
|
3002bd9237
Working ExtendedBasicBlock tracing/lazy-construction! Not all constructs traceable, and no inlining, but it works!
|
4 miesięcy temu |
Nathan Braswell
|
1e59c8ed94
Small one today, getting started was hard but glad I got a tiny bit done to continue the streak. Modifed follow-on data to be stored on Ctx itself and only pass an ID around so it can be on the return stack multiple times without wasting a lot of space.
|
4 miesięcy temu |
Nathan Braswell
|
c15e857171
First barely-working trace replay! Need to clean up, finish implementing, have trace-reply restore traces, jump directly to other traces, eventually inline and concat traces, etc etc
|
4 miesięcy temu |
Nathan Braswell
|
71a2272f34
mostly correct looking traces. given up on actual constant prop during tracing, only constant tracking. Will need later pass to optimize. Also, want to shift the post-call trace to after the innermost return instead of tracking with the return stack.
|
4 miesięcy temu |
Nathan Braswell
|
2d5315f880
tracing/cont rework main
|
4 miesięcy temu |
Nathan Braswell
|
88e3fa9d39
Move dynamic stuff out of Cont and into two stacks so that Cont is good for resuming traces (having them depend only on code). Remove currently unneeded IDs from Symbol and Pair. Added an InlinePrim Op to tracing, and a nc: Cont to Call. IDs are probs only for trace points now (function starts and side-exits).
|
4 miesięcy temu |
Nathan Braswell
|
b40c928026
Reorganize naming scheme
|
5 miesięcy temu |
Nathan Braswell
|
3f3ea56375
Start working on calls
|
5 miesięcy temu |
Nathan Braswell
|
63a5b019ed
Website typing improvements, uncommitted JIT work
|
5 miesięcy temu |
Nathan Braswell
|
56c6b3f5f7
Messing around with fancy splash page
|
5 miesięcy temu |
Nathan Braswell
|
82c38a32cf
Basic tracing structure sketched with stubs in cases - need to add constant tracking and implement stubs. Still need some thought on tracing a closure vs tracing the code that created the closure
|
5 miesięcy temu |
Nathan Braswell
|
2787b95837
Rewrite into non-recursive defunctionalized-continuations style
|
5 miesięcy temu |
Nathan Braswell
|
656cfe95ae
Initial ID & func call stats!
|
5 miesięcy temu |
Nathan Braswell
|
75d025bcb2
Div and mod, why not
|
6 miesięcy temu |