aboutsummaryrefslogtreecommitdiffstats
path: root/vm_core.h
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2023-10-12 10:05:34 -0400
committerGitHub <noreply@github.com>2023-10-12 10:05:34 -0400
commitb2e1ddffa55463f1180af7f9b269a2d89140b131 (patch)
treedf428c260b64f5d84126bbe4b957784d02563dc3 /vm_core.h
parent0c42c28531ea73a4a3e09dc12abe9f3264b87860 (diff)
downloadruby-b2e1ddffa55463f1180af7f9b269a2d89140b131.tar.gz
YJIT: port call threshold logic from Rust to C for performance (#8628)
* Port call threshold logic from Rust to C for performance * Prefix global/field names with yjit_ * Fix linker error * Fix preprocessor condition for rb_yjit_threshold_hit * Fix third linker issue * Exclude yjit_calls_at_interv from RJIT bindgen --------- Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index 6f2fca6537..acad6280be 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -524,6 +524,8 @@ struct rb_iseq_constant_body {
#if USE_YJIT
// YJIT stores some data on each iseq.
void *yjit_payload;
+ // Used to estimate how frequently this ISEQ gets called
+ uint64_t yjit_calls_at_interv;
#endif
};