Commit graph

71 commits

Author SHA1 Message Date
Takashi Kokubun
c3ca9448bf Implement all getlocal/setlocal insns 2023-03-05 23:28:59 -08:00
Takashi Kokubun
3774fe4e91 Implement opt_eq and opt_neq 2023-03-05 23:28:59 -08:00
Takashi Kokubun
bc50b0475a Implement opt_and and opt_or 2023-03-05 23:28:59 -08:00
Takashi Kokubun
67cc53214c Implement setlocal_WC_0 2023-03-05 23:28:59 -08:00
Takashi Kokubun
ba491598cc Implement opt_mod 2023-03-05 23:28:59 -08:00
Takashi Kokubun
73a5b3d5d2 Implement Array#[] 2023-03-05 23:28:59 -08:00
Takashi Kokubun
51d36c7b34 Implement opt_le, opt_ge, and opt_gt 2023-03-05 23:28:59 -08:00
Takashi Kokubun
1b0fbd137f Implement branchif 2023-03-05 23:28:59 -08:00
Takashi Kokubun
9bce848b4c Side-exit earlier on interrupts 2023-03-05 23:28:59 -08:00
Takashi Kokubun
11bd040b89 Fix a typo in jit_chain_guard 2023-03-05 23:28:59 -08:00
Takashi Kokubun
39b7874481 Implement variadic C func calls 2023-03-05 23:28:59 -08:00
git
e111d3ae8d * remove trailing spaces. [ci skip] 2023-03-06 07:24:02 +00:00
Takashi Kokubun
cacf2f3709 Set 0 to cfp->pc on C func send 2023-03-05 22:41:35 -08:00
Takashi Kokubun
9e42f31574 Do not compile C calls when C tracing is enabled 2023-03-05 22:41:35 -08:00
Takashi Kokubun
20e55be47c Re-enable cfunc send 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
494989e87e Partially implement send of cfunc 2023-03-05 22:41:35 -08:00
Takashi Kokubun
e8c13e55fb Delay CFP motion a little 2023-03-05 22:41:35 -08:00
Takashi Kokubun
b2447b644d Use fewer comments on frame push 2023-03-05 22:41:35 -08:00
Takashi Kokubun
b05dbe785e Delay SP motion a little 2023-03-05 22:41:35 -08:00
Takashi Kokubun
9f805530e2 Adjust the interface of jit_push_frame 2023-03-05 22:41:35 -08:00
Takashi Kokubun
bdf98237fa Support more types in jit_guard_known_class 2023-03-05 22:41:35 -08:00
Takashi Kokubun
2c87cf8013 Implement stackoverflow check 2023-03-05 22:41:35 -08:00
Takashi Kokubun
ac7b2f0d17 Check interrupts on jump and branchunless 2023-03-05 22:41:35 -08:00
Takashi Kokubun
091c2ee1ac Implement jump 2023-03-05 22:41:35 -08:00
Takashi Kokubun
557bd86402 Re-enable opt_aref with Hash 2023-03-05 22:41:35 -08:00
Takashi Kokubun
6bc8e4a279 Fix the operand for branchunless 2023-03-05 22:41:35 -08:00
Takashi Kokubun
98a3b40d55 Implement pop 2023-03-05 22:41:35 -08:00
Takashi Kokubun
dcdffb1aa0 Initial support for setivar 2023-03-05 22:41:35 -08:00
Takashi Kokubun
eac44ec212 Implement dup 2023-03-05 22:41:35 -08:00
Takashi Kokubun
50bd7326c1 Skip Hash on opt_aref for now 2023-03-05 22:41:35 -08:00
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