summaryrefslogtreecommitdiff
path: root/ujit.h
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2021-02-12 17:12:18 -0500
committerAlan Wu <XrXr@users.noreply.github.com>2021-10-20 18:19:29 -0400
commitc02517bacb0a9441161342a5973a418039955764 (patch)
treedc7aab62502e0527f1794384f23abe83b832adc8 /ujit.h
parent148ab79cd7a3d17f310c444041e93f30c1f1acac (diff)
Tie lifetime of uJIT blocks to iseqs
* Tie lifetime of uJIT blocks to iseqs Blocks weren't being freed when iseqs are collected. * Add rb_dary. Use it for method dependency table * Keep track of blocks per iseq Remove global version_tbl * Block version bookkeeping fix * dary -> darray * free ujit_blocks * comment about size of ujit_blocks
Diffstat (limited to 'ujit.h')
-rw-r--r--ujit.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/ujit.h b/ujit.h
index a931ce0d3d..c2e03e5e26 100644
--- a/ujit.h
+++ b/ujit.h
@@ -54,5 +54,8 @@ void rb_ujit_compile_iseq(const rb_iseq_t *iseq);
void rb_ujit_init(struct rb_ujit_options *options);
void rb_ujit_bop_redefined(VALUE klass, const rb_method_entry_t *me, enum ruby_basic_operators bop);
void rb_ujit_constant_state_changed(void);
+void rb_ujit_iseq_mark(const struct rb_iseq_constant_body *body);
+void rb_ujit_iseq_update_references(const struct rb_iseq_constant_body *body);
+void rb_ujit_iseq_free(const struct rb_iseq_constant_body *body);
#endif // #ifndef UJIT_H