aboutsummaryrefslogtreecommitdiffstats
path: root/method.h
diff options
context:
space:
mode:
Diffstat (limited to 'method.h')
-rw-r--r--method.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/method.h b/method.h
index 98b89f8cf7..e03f0d2357 100644
--- a/method.h
+++ b/method.h
@@ -74,11 +74,17 @@ typedef struct rb_method_definition_struct {
typedef struct rb_method_entry_struct {
rb_method_flag_t flag;
+ char mark;
rb_method_definition_t *def;
ID called_id;
VALUE klass; /* should be mark */
} rb_method_entry_t;
+struct unlinked_method_entry_list_entry {
+ struct unlinked_method_entry_list_entry *next;
+ rb_method_entry_t *me;
+};
+
#define UNDEFINED_METHOD_ENTRY_P(me) (!(me) || !(me)->def || (me)->def->type == VM_METHOD_TYPE_UNDEF)
void rb_add_method_cfunc(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc, rb_method_flag_t noex);
@@ -92,5 +98,6 @@ int rb_method_entry_arity(const rb_method_entry_t *me);
void rb_mark_method_entry(const rb_method_entry_t *me);
void rb_free_method_entry(rb_method_entry_t *me);
+void rb_sweep_method_entry(void *vm);
#endif /* METHOD_H */