mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
remove src/gc.h
This commit is contained in:
@@ -78,6 +78,10 @@ struct RClass* mrb_class_real(struct RClass* cl);
|
||||
|
||||
void mrb_obj_call_init(mrb_state *mrb, mrb_value obj, int argc, mrb_value *argv);
|
||||
|
||||
void mrb_gc_mark_mt(mrb_state*, struct RClass*);
|
||||
size_t mrb_gc_mark_mt_size(mrb_state*, struct RClass*);
|
||||
void mrb_gc_free_mt(mrb_state*, struct RClass*);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} /* extern "C" { */
|
||||
#endif
|
||||
|
||||
@@ -42,6 +42,11 @@ struct kh_ht * mrb_hash_tbl(mrb_state *mrb, mrb_value hash);
|
||||
|
||||
mrb_value mrb_obj_is_proc(mrb_value proc);
|
||||
|
||||
/* GC functions */
|
||||
void mrb_gc_mark_ht(mrb_state*, struct RHash*);
|
||||
size_t mrb_gc_mark_ht_size(mrb_state*, struct RHash*);
|
||||
void mrb_gc_free_ht(mrb_state*, struct RHash*);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} /* extern "C" { */
|
||||
#endif
|
||||
|
||||
@@ -48,6 +48,13 @@ mrb_value mrb_f_global_variables(mrb_state *mrb, mrb_value self);
|
||||
mrb_value mrb_gv_get(mrb_state *mrb, mrb_sym sym);
|
||||
void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val);
|
||||
|
||||
/* GC functions */
|
||||
void mrb_gc_mark_gv(mrb_state*);
|
||||
void mrb_gc_free_gv(mrb_state*);
|
||||
void mrb_gc_mark_iv(mrb_state*, struct RObject*);
|
||||
size_t mrb_gc_mark_iv_size(mrb_state*, struct RObject*);
|
||||
void mrb_gc_free_iv(mrb_state*, struct RObject*);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} /* extern "C" { */
|
||||
#endif
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "mruby/proc.h"
|
||||
#include "mruby/data.h"
|
||||
#include "mruby/numeric.h"
|
||||
#include "mruby/variable.h"
|
||||
|
||||
/*
|
||||
= Tri-color Incremental Garbage Collection
|
||||
@@ -74,7 +75,29 @@
|
||||
#include "re.h"
|
||||
#endif
|
||||
|
||||
#include "gc.h"
|
||||
struct free_obj {
|
||||
MRUBY_OBJECT_HEADER;
|
||||
struct RBasic *next;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
struct free_obj free;
|
||||
struct RBasic basic;
|
||||
struct RObject object;
|
||||
struct RClass klass;
|
||||
struct RString string;
|
||||
struct RArray array;
|
||||
struct RHash hash;
|
||||
struct RRange range;
|
||||
struct RStruct structdata;
|
||||
struct RProc procdata;
|
||||
#ifdef INCLUDE_REGEXP
|
||||
struct RMatch match;
|
||||
struct RRegexp regexp;
|
||||
#endif
|
||||
} as;
|
||||
} RVALUE;
|
||||
|
||||
#ifdef GC_PROFILE
|
||||
#include <sys/time.h>
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
/*
|
||||
** gc.h - garbage collector for RiteVM
|
||||
**
|
||||
** See Copyright Notice in mruby.h
|
||||
*/
|
||||
|
||||
#ifndef MRUBY_GC_H
|
||||
#define MRUBY_GC_H
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct free_obj {
|
||||
MRUBY_OBJECT_HEADER;
|
||||
struct RBasic *next;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
struct free_obj free;
|
||||
struct RBasic basic;
|
||||
struct RObject object;
|
||||
struct RClass klass;
|
||||
struct RString string;
|
||||
struct RArray array;
|
||||
struct RHash hash;
|
||||
struct RRange range;
|
||||
struct RStruct structdata;
|
||||
struct RProc procdata;
|
||||
#ifdef INCLUDE_REGEXP
|
||||
struct RMatch match;
|
||||
struct RRegexp regexp;
|
||||
#endif
|
||||
} as;
|
||||
} RVALUE;
|
||||
|
||||
void mrb_gc_mark_gv(mrb_state*);
|
||||
void mrb_gc_free_gv(mrb_state*);
|
||||
void mrb_gc_mark_iv(mrb_state*, struct RObject*);
|
||||
size_t mrb_gc_mark_iv_size(mrb_state*, struct RObject*);
|
||||
void mrb_gc_free_iv(mrb_state*, struct RObject*);
|
||||
void mrb_gc_mark_mt(mrb_state*, struct RClass*);
|
||||
size_t mrb_gc_mark_mt_size(mrb_state*, struct RClass*);
|
||||
void mrb_gc_free_mt(mrb_state*, struct RClass*);
|
||||
void mrb_gc_mark_ht(mrb_state*, struct RHash*);
|
||||
size_t mrb_gc_mark_ht_size(mrb_state*, struct RHash*);
|
||||
void mrb_gc_free_ht(mrb_state*, struct RHash*);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} /* extern "C" { */
|
||||
#endif
|
||||
|
||||
#endif /* MRUBY_GC_H */
|
||||
Reference in New Issue
Block a user