40 Commits

Author SHA1 Message Date
Takashi Kokubun
ecae1cd74e Implement attr_reader 2023-03-05 22:41:35 -08:00
Takashi Kokubun
fa9a0cb970 Count unsupported method types 2023-03-05 22:11:20 -08:00
Takashi Kokubun
64074ca4df Refactor recv_opnd 2023-03-05 22:11:20 -08:00
Takashi Kokubun
365cda16b5 Delegate opt insns to opt_send as much as possible 2023-03-05 22:11:20 -08:00
Takashi Kokubun
8d099ff699 Implement opt_aref for Hash 2023-03-05 22:11:20 -08:00
Takashi Kokubun
a458923fe5 Implement jit_guard_known_class 2023-03-05 22:11:20 -08:00
Takashi Kokubun
6be4e065eb Support SP motion in all insns 2023-03-05 22:11:20 -08:00
Takashi Kokubun
d332c6ee12 Implement getlocal_WC_1 2023-03-05 22:11:20 -08:00
Takashi Kokubun
e92edfc7f0 Implement jit_chain_guard 2023-03-05 22:11:20 -08:00
Takashi Kokubun
0a400f38e8 Implement nop 2023-03-05 22:11:20 -08:00
Takashi Kokubun
3ed7fa76e0 Implement counted exits 2023-03-05 22:11:20 -08:00
Takashi Kokubun
d11f960fb0 Implement non-embedded ivars 2023-03-05 22:11:20 -08:00
Takashi Kokubun
5a1cee1d96 Implement getivar 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
47e2ea3a80 Refactor callee with BranchStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun
d88b59be92 Refactor jit_return with BranchStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun
6c1b1fa1f5 Refactor BranchStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun
5c638c97bb Implement opt_plus 2023-03-05 22:11:20 -08:00
Takashi Kokubun
439f8a0f14 Support passing arguments 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
9ef04f5636 Implement opt_minus 2023-03-05 22:11:20 -08:00
Takashi Kokubun
ee6d627b43 Implement putobject 0/1 2023-03-05 22:11:20 -08:00
Takashi Kokubun
850303ded6 Implement putself 2023-03-05 22:11:20 -08:00
Takashi Kokubun
62d36dd127 Implement branch stub 2023-03-05 22:11:20 -08:00
Takashi Kokubun
1f69ba1d84 Use the actual sp_offset 2023-03-05 22:11:20 -08:00
Takashi Kokubun
ee80b2be20 Fix broken stats 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
36cec59f0a Implement ocb 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
4eb6f1dbb9 Put nil on an appropriate index 2023-03-05 22:11:20 -08:00
Takashi Kokubun
e9535a439b Split branches for mov src and dst 2023-03-05 22:11:20 -08:00
Takashi Kokubun
e4a824f769 Fix broken rebase 2023-03-05 22:11:20 -08:00