diff options
| author | Satoshi Tagomori <s-tagomori@sakura.ad.jp> | 2025-11-30 17:50:50 +0900 |
|---|---|---|
| committer | Satoshi Tagomori <tagomoris@gmail.com> | 2025-12-02 23:49:49 +0900 |
| commit | 9eafeaed67903bbf2f2dca5eb473c1bf774712f6 (patch) | |
| tree | 3e537f55788e21db35de2f5157abe5c3a7452156 /internal | |
| parent | 84bc1f038a4df63ff09490c981753d7234a52ce4 (diff) | |
Box: Free rb_classext_t struct for a box when the box is GCed
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/box.h | 1 | ||||
| -rw-r--r-- | internal/class.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/internal/box.h b/internal/box.h index 41cad63482..c341f046d3 100644 --- a/internal/box.h +++ b/internal/box.h @@ -34,6 +34,7 @@ struct rb_box_struct { VALUE ruby_dln_libmap; VALUE gvar_tbl; + struct st_table *classext_cow_classes; bool is_user; bool is_optional; diff --git a/internal/class.h b/internal/class.h index f122d2f189..296a07ae29 100644 --- a/internal/class.h +++ b/internal/class.h @@ -513,6 +513,7 @@ void rb_undef_methods_from(VALUE klass, VALUE super); VALUE rb_class_inherited(VALUE, VALUE); VALUE rb_keyword_error_new(const char *, VALUE); +rb_classext_t *rb_class_unlink_classext(VALUE klass, const rb_box_t *box); void rb_class_classext_free(VALUE klass, rb_classext_t *ext, bool is_prime); void rb_iclass_classext_free(VALUE klass, rb_classext_t *ext, bool is_prime); |
