Граф коммитов

57 Коммитов

Автор SHA1 Сообщение Дата
Takashi Kokubun 3034553e8d Add more GC guards 2023-03-05 23:28:59 -08:00
Takashi Kokubun 706f6272d9 Guard against GC of random ISEQs 2023-03-05 23:28:59 -08:00
Takashi Kokubun 7dcdffebc8 Invalidate blocks on global constant changes 2023-03-05 23:28:59 -08:00
Takashi Kokubun 5576da7900 Re-compile MJIT entry on constant IC update 2023-03-05 23:28:59 -08:00
Takashi Kokubun 32e6f15beb Store MJIT blocks on each ISEQ 2023-03-05 23:28:59 -08:00
Takashi Kokubun 993c43e429 Change a branch stub shape only when needed 2023-03-05 23:28:59 -08:00
Takashi Kokubun bef63f445b Skip invalidation for trace_ insns 2023-03-05 23:28:59 -08:00
Takashi Kokubun feb60f6f51 Invalidate blocks on constant IC updates 2023-03-05 23:28:59 -08:00
Takashi Kokubun 2cc4f506ba Implement optimized send 2023-03-05 23:28:59 -08:00
Takashi Kokubun 1bdc23f35b Redo compilation of all ISEQs after invalidation 2023-03-05 22:41:35 -08:00
Takashi Kokubun 1fa519fdae Handle failures on branch_stub_hit 2023-03-05 22:41:35 -08:00
Takashi Kokubun aba530e23b Implement invalidation after cfunc 2023-03-05 22:41:35 -08:00
Takashi Kokubun 2c87cf8013 Implement stackoverflow check 2023-03-05 22:41:35 -08:00
Takashi Kokubun 2cd6406d67 Save PC and SP on entry exit 2023-03-05 22:11:20 -08:00
Takashi Kokubun a026bcedc8 Allow reusing existing blocks 2023-03-05 22:11:20 -08:00
Takashi Kokubun d415f1e317 Get rid of BlockStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun 6c1b1fa1f5 Refactor BranchStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun 4bb4479165 Add compiled_block_count 2023-03-05 22:11:20 -08:00
Takashi Kokubun e731ced271 Implement method call 2023-03-05 22:11:20 -08:00
Takashi Kokubun fa0b9c1c97 Initial implementation of send 2023-03-05 22:11:20 -08:00
Takashi Kokubun f4cf737af8 Support Mod 10 mov 2023-03-05 22:11:20 -08:00
Takashi Kokubun 62d36dd127 Implement branch stub 2023-03-05 22:11:20 -08:00
Takashi Kokubun a8dec34961 Implement initial opt_lt 2023-03-05 22:11:20 -08:00
Takashi Kokubun 21696ad81e Partly implement BOP assumption 2023-03-05 22:11:20 -08:00
Takashi Kokubun 00c659d246 Move the insn dispatch table to InsnCompiler 2023-03-05 22:11:20 -08:00
Takashi Kokubun 4b6c738180 Rewrite the stub if it's the last code 2023-03-05 22:11:20 -08:00
Takashi Kokubun c3d99d0f12 Implement defer_compilation 2023-03-05 22:11:20 -08:00
Takashi Kokubun 2b8d1c93ea Support extended registers
and move argument registers to a couple of them.
2023-03-05 22:11:20 -08:00
Takashi Kokubun d7dba4c510 Colorize outlined code 2023-03-05 22:11:20 -08:00
Takashi Kokubun 36cec59f0a Implement ocb 2023-03-05 22:11:20 -08:00
Takashi Kokubun 7abff797b4 Use the term "compile" in different places 2023-03-05 22:11:20 -08:00
Takashi Kokubun c51baf9404 Carve out CodeBlock 2023-03-05 22:11:20 -08:00
Takashi Kokubun 28290d5198 Try carving out ExitCompiler 2023-03-05 22:11:20 -08:00
Takashi Kokubun 7a19aad8c3 Implement putobject 2023-03-05 22:11:20 -08:00
Takashi Kokubun 9352f94a1b Implement getlocal_WC_0 2023-03-05 22:11:20 -08:00
Takashi Kokubun e4a824f769 Fix broken rebase 2023-03-05 22:11:20 -08:00
Takashi Kokubun 9f8f1afba2 Implement --mjit-stats 2023-03-05 22:11:20 -08:00
Takashi Kokubun 4fe5efbf7f Implement asm comments 2023-03-05 22:11:20 -08:00
Takashi Kokubun 3b398513be Check interrupts on leave 2023-03-05 22:11:20 -08:00
Takashi Kokubun 25ae82b83e Skip supporting has_opt for now 2023-03-05 22:11:20 -08:00
Takashi Kokubun d46cc2c104 Remove <main> specialization 2023-03-05 22:11:20 -08:00
Takashi Kokubun 5db2ef5e14 Define constants for magic registers 2023-03-05 22:11:20 -08:00
Takashi Kokubun 23a58105ee Implement callee-saved registers 2023-03-05 22:11:20 -08:00
Takashi Kokubun 71595a37ba Consider stack_size on side exits 2023-03-05 22:11:20 -08:00
Takashi Kokubun bee5af407d Rename InsnCompiler to Codegen
because I'm not gonna limit this to insns anymore.
2023-03-05 22:11:20 -08:00
Takashi Kokubun b99d62bf92 Implement initial side exit 2023-03-05 22:11:20 -08:00
Takashi Kokubun 145c937f3f Compile putnil properly 2023-03-05 22:11:20 -08:00
Takashi Kokubun 396d575451 Implement mov encoding properly 2023-03-05 22:11:20 -08:00
Takashi Kokubun 2700d35b7b Split responsibilities differently 2023-03-05 22:11:20 -08:00
Takashi Kokubun d9c2eb6f42 Move modules around 2023-03-05 22:11:20 -08:00