summaryrefslogtreecommitdiffhomepage
path: root/src/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-05-26 05:26:50 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-05-26 05:26:50 -0700
commitec3a5f33ba8b52fc9d5ee21cdb0a689622608f98 (patch)
treea3c25239fb5afe2a33708e38d185a142f1c543a3 /src/codegen.c
parentd78f23d28b4706e58622493de60e17818b491fde (diff)
parente720782f815b809a692818851582be019afe52a9 (diff)
downloadmruby-ec3a5f33ba8b52fc9d5ee21cdb0a689622608f98.tar.gz
mruby-ec3a5f33ba8b52fc9d5ee21cdb0a689622608f98.zip
Merge pull request #1266 from kimushu/feature/word-boxing
Add MRB_WORD_BOXING mode (represent mrb_value as a word)
Diffstat (limited to 'src/codegen.c')
-rw-r--r--src/codegen.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 581d13280..cfbbe7286 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -1901,7 +1901,7 @@ codegen(codegen_scope *s, node *tree, int val)
i = readint_mrb_int(s, p, base, FALSE, &overflow);
if (overflow) {
double f = readint_float(s, p, base);
- int off = new_lit(s, mrb_float_value(f));
+ int off = new_lit(s, mrb_float_value(s->mrb, f));
genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
}
@@ -1923,7 +1923,7 @@ codegen(codegen_scope *s, node *tree, int val)
if (val) {
char *p = (char*)tree;
mrb_float f = str_to_mrb_float(p);
- int off = new_lit(s, mrb_float_value(f));
+ int off = new_lit(s, mrb_float_value(s->mrb, f));
genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
push();
@@ -1939,7 +1939,7 @@ codegen(codegen_scope *s, node *tree, int val)
{
char *p = (char*)tree;
mrb_float f = str_to_mrb_float(p);
- int off = new_lit(s, mrb_float_value(-f));
+ int off = new_lit(s, mrb_float_value(s->mrb, -f));
genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
push();
@@ -1957,7 +1957,7 @@ codegen(codegen_scope *s, node *tree, int val)
i = readint_mrb_int(s, p, base, TRUE, &overflow);
if (overflow) {
double f = readint_float(s, p, base);
- int off = new_lit(s, mrb_float_value(-f));
+ int off = new_lit(s, mrb_float_value(s->mrb, -f));
genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
}