[前][次][番号順一覧][スレッド一覧]

ruby-changes:68633

From: Maxime <ko1@a...>
Date: Thu, 21 Oct 2021 08:11:13 +0900 (JST)
Subject: [ruby-changes:68633] ef9eb83cbe (master): Commit before merge

https://git.ruby-lang.org/ruby.git/commit/?id=ef9eb83cbe

From ef9eb83cbecb3d7add699c41f713a42c296fe65a Mon Sep 17 00:00:00 2001
From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...>
Date: Fri, 16 Oct 2020 13:42:14 -0400
Subject: Commit before merge

---
 ujit_compile.c | 18 +++++++++---------
 1 file 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) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L493
         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
 
 
 
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]