summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorfurunkel <[email protected]>2015-10-19 22:43:09 +0200
committerfurunkel <[email protected]>2015-10-19 22:43:09 +0200
commit2f8b0f66bcce744a5cf6320237087d29313c9855 (patch)
tree4249459fe31e4c41105da4dfb934e4a44b8b2fe8
parent5c093ed22b1a5200d50b221832d5d04f6d38c21b (diff)
downloadmruby-2f8b0f66bcce744a5cf6320237087d29313c9855.tar.gz
mruby-2f8b0f66bcce744a5cf6320237087d29313c9855.zip
Move MRB_GC_ARENA_SIZE to gc.h and fix compiler warnings
-rw-r--r--include/mruby.h4
-rw-r--r--include/mruby/gc.h6
-rw-r--r--src/gc.c4
3 files changed, 7 insertions, 7 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 8a26146df..b0161aff7 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -65,10 +65,6 @@ struct mrb_state;
*/
typedef void* (*mrb_allocf) (struct mrb_state *mrb, void*, size_t, void *ud);
-#ifndef MRB_GC_ARENA_SIZE
-#define MRB_GC_ARENA_SIZE 100
-#endif
-
#ifndef MRB_FIXED_STATE_ATEXIT_STACK_SIZE
#define MRB_FIXED_STATE_ATEXIT_STACK_SIZE 5
#endif
diff --git a/include/mruby/gc.h b/include/mruby/gc.h
index 2bd8b8539..d7687c05e 100644
--- a/include/mruby/gc.h
+++ b/include/mruby/gc.h
@@ -30,6 +30,10 @@ MRB_API void mrb_free_context(struct mrb_state *mrb, struct mrb_context *c);
#define MRB_GC_WHITES (MRB_GC_WHITE_A | MRB_GC_WHITE_B)
#define MRB_GC_COLOR_MASK 7
+#ifndef MRB_GC_ARENA_SIZE
+#define MRB_GC_ARENA_SIZE 100
+#endif
+
typedef enum {
GC_STATE_ROOT = 0,
GC_STATE_MARK,
@@ -75,7 +79,7 @@ typedef struct mrb_gc {
} mrb_gc;
MRB_API mrb_bool
-mrb_object_dead_p(struct mrb_state *mrb, struct RObject *object);
+mrb_object_dead_p(struct mrb_state *mrb, struct RBasic *object);
MRB_END_DECL
diff --git a/src/gc.c b/src/gc.c
index c4257d400..360002c5d 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -260,7 +260,7 @@ mrb_free(mrb_state *mrb, void *p)
}
MRB_API mrb_bool
-mrb_object_dead_p(mrb_state *mrb, struct RObject *object) {
+mrb_object_dead_p(mrb_state *mrb, struct RBasic *object) {
return is_dead(&mrb->gc, object);
}
@@ -394,7 +394,7 @@ gc_protect(mrb_state *mrb, mrb_gc *gc, struct RBasic *p)
if (gc->arena_idx >= MRB_GC_ARENA_SIZE) {
/* arena overflow error */
gc->arena_idx = MRB_GC_ARENA_SIZE - 4; /* force room in arena */
- mrb_raise(gc, E_RUNTIME_ERROR, "arena overflow error");
+ mrb_raise(mrb, E_RUNTIME_ERROR, "arena overflow error");
}
#else
if (gc->arena_idx >= gc->arena_capa) {