From 96f4f918b04fad1401d4f41cd11d97d9d4d28c7d Mon Sep 17 00:00:00 2001 From: Maxime Chevalier-Boisvert Date: Sat, 24 Apr 2021 00:16:48 -0400 Subject: Implement greedy versioning. Refactor versioning logic. (#10) * Implement eager versioning. Refactor versioning logic. * Add --version-limit and --greedy-versioning command-line args --- yjit.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'yjit.h') diff --git a/yjit.h b/yjit.h index 00ed486054..3359a51435 100644 --- a/yjit.h +++ b/yjit.h @@ -30,12 +30,20 @@ typedef struct rb_iseq_struct rb_iseq_t; #endif struct rb_yjit_options { + // Enable compilation with YJIT bool yjit_enabled; // Number of method calls after which to start generating code // Threshold==1 means compile on first execution unsigned call_threshold; + // Generate versions greedily until the limit is hit + bool greedy_versioning; + + // Maximum number of versions per block + // 1 means always create generic versions + unsigned version_limit; + // Capture and print out stats bool gen_stats; }; -- cgit v1.2.3