summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorkimu_shu <[email protected]>2013-05-26 09:43:30 +0900
committerkimu_shu <[email protected]>2013-05-26 10:09:17 +0900
commite720782f815b809a692818851582be019afe52a9 (patch)
treea3c25239fb5afe2a33708e38d185a142f1c543a3 /src/gc.c
parentd78f23d28b4706e58622493de60e17818b491fde (diff)
downloadmruby-e720782f815b809a692818851582be019afe52a9.tar.gz
mruby-e720782f815b809a692818851582be019afe52a9.zip
Add MRB_WORD_BOXING mode (represent mrb_value as a word)
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gc.c b/src/gc.c
index 00ddadffc..6419726eb 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -530,10 +530,16 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
case MRB_TT_TRUE:
case MRB_TT_FIXNUM:
case MRB_TT_SYMBOL:
- case MRB_TT_FLOAT:
/* cannot happen */
return;
+ case MRB_TT_FLOAT:
+#ifdef MRB_WORD_BOXING
+ break;
+#else
+ return;
+#endif
+
case MRB_TT_OBJECT:
mrb_gc_free_iv(mrb, (struct RObject*)obj);
break;