diff options
author | Alan Wu <XrXr@users.noreply.github.com> | 2021-02-12 17:12:18 -0500 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:29 -0400 |
commit | c02517bacb0a9441161342a5973a418039955764 (patch) | |
tree | dc7aab62502e0527f1794384f23abe83b832adc8 /ujit.h | |
parent | 148ab79cd7a3d17f310c444041e93f30c1f1acac (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.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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 |