Commit graph

19 commits

Author SHA1 Message Date
Maxime Chevalier-Boisvert
37ad374607 Added gen_direct_jump() for unary branches 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
187435c117 Complete refactoring to eliminate recursion in ujit's compilation 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
79331368b9 Added block end index 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
4a57107696 Sketch code to invalidate basic blocks. Rename version_t to block_t. 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
92e9b24586 Keep track of incoming branches in ujit 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
2cf32e5505 Refactor ujit logic for generating iseq entry points 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
ef08af9376 Progress on code invalidation 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
3a74011ff8 Introduce version_t struct. Will be needed for code invalidation. 2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
2cc0db12fe Refactorings in ujit. Implement Ruby jump instruction. 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
542f2ba09e Use a versioning context when compiling blocks 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
df16bf97ec Split out context object into jitstate_t and ctx_t 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
5e39d83fbd Split out compile_entry() from compile_block() 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
e9344ae408 Stub logic working for fib test, but still crashing in other cases 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
7d7e58d352 Implement branch stub logic 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
40b70ef7c7 WIP branch generation code 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
bd7cc9ed98 Thread insn_idx through context object 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
20f5b7426e Start implementing BBV primitives 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
f7717b1d46 Start refactoring JIT engine 2021-10-20 18:19:26 -04:00
Maxime Chevalier-Boisvert
e4c65ec49c Refactor uJIT code into more files for readability 2021-10-20 18:19:26 -04:00