diff options
author | Alan Wu <[email protected]> | 2021-03-24 18:07:26 -0400 |
---|---|---|
committer | Alan Wu <[email protected]> | 2021-10-20 18:19:33 -0400 |
commit | b626dd7211b9d45f1dab6f82057445781f34f20f (patch) | |
tree | 76f107f1a2b79b4be590eea99aa98f97bd6eed14 /yjit.h | |
parent | e81d1f4ae31086c19b936bb8d0bf4650b0c36f44 (diff) |
YJIT: Fancier opt_getinlinecache
Make sure `opt_getinlinecache` is in a block all on its own, and
invalidate it from the interpreter when `opt_setinlinecache`.
It will recompile with a filled cache the second time around.
This lets YJIT runs well when the IC for constant is cold.
Diffstat (limited to 'yjit.h')
-rw-r--r-- | yjit.h | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -5,9 +5,7 @@ #ifndef YJIT_H #define YJIT_H 1 -#include "stddef.h" -#include "stdint.h" -#include "stdbool.h" +#include "vm_core.h" #include "method.h" #ifdef _WIN32 @@ -61,5 +59,6 @@ void rb_yjit_iseq_mark(const struct rb_iseq_constant_body *body); void rb_yjit_iseq_update_references(const struct rb_iseq_constant_body *body); void rb_yjit_iseq_free(const struct rb_iseq_constant_body *body); void rb_yjit_before_ractor_spawn(void); +void yjit_constant_ic_update(const rb_iseq_t *iseq, IC ic); #endif // #ifndef YJIT_H |