Move MRB_GC_ARENA_SIZE to gc.h and fix compiler warnings

This commit is contained in:
furunkel
2015-10-19 22:43:09 +02:00
parent 5c093ed22b
commit 2f8b0f66bc
3 changed files with 7 additions and 7 deletions
-4
View File
@@ -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
+5 -1
View File
@@ -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
+2 -2
View File
@@ -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) {