Commit graph

79 commits

Author SHA1 Message Date
Takashi Kokubun
a4bf1c661b Implement opt_invokebuiltin_delegate 2023-03-05 23:28:59 -08:00
Takashi Kokubun
7b78fd0df2 Count optimized method types 2023-03-05 23:28:59 -08:00
Takashi Kokubun
ecc86f79ca Implement opt_aset 2023-03-05 23:28:59 -08:00
Takashi Kokubun
d120394df3 Implement duparray and expandarray 2023-03-05 23:28:59 -08:00
Takashi Kokubun
e078a4a964 Count opt_getconstant_path exit reasons 2023-03-05 23:28:59 -08:00
Takashi Kokubun
4271927d61 Side-exit on cfunc with -2 argc 2023-03-05 23:28:59 -08:00
Takashi Kokubun
4d97f9319c Initial support of opt_getconstant_path 2023-03-05 23:28:59 -08:00
Takashi Kokubun
a9ef36866a Implement dupn and setn 2023-03-05 23:28:59 -08:00
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