diff options
| author | Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | 2020-10-16 13:42:14 -0400 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:25 -0400 |
| commit | ef9eb83cbecb3d7add699c41f713a42c296fe65a (patch) | |
| tree | 426b0253cdcc31f0dcdd4a7c4b9349f5c94f42fa | |
| parent | 2cb376a53f2f165415f36fba4b2230bcbd1e3848 (diff) | |
Commit before merge
| -rw-r--r-- | ujit_compile.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/ujit_compile.c b/ujit_compile.c index 820d845fc6..fe492da027 100644 --- a/ujit_compile.c +++ b/ujit_compile.c @@ -493,21 +493,21 @@ gen_opt_send_without_block(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) return false; } - /* // Don't JIT if this is not a C call - if (cd->cc->call_ != vm_call_cfunc_with_frame) + if (vm_cc_cme(cd->cc)->def->type != VM_METHOD_TYPE_CFUNC) { return false; } - */ - - - - // TODO: stop if the inline cache isn't filled - - // TODO: stop if this isn't a C call + // Things we need to do at run-time: + // - Check that the cached klass matches + // - Check that method entry is not invalidated + // - ??? + // - Create a new frame + // - copy function arguments? + // - Call the C function + // - Remove the frame |
