From 249f05e7d70761823ef07a990276f9200e8b3302 Mon Sep 17 00:00:00 2001 From: David Turnbull Date: Sat, 5 Jul 2014 09:12:56 -0700 Subject: Clean up value.h and mrb_value boxing --- src/class.c | 2 +- src/etc.c | 6 +-- src/numeric.c | 6 +-- src/object.c | 4 +- src/vm.c | 119 +++++++++++++++++++++++----------------------------------- 5 files changed, 55 insertions(+), 82 deletions(-) (limited to 'src') diff --git a/src/class.c b/src/class.c index 42e2d5d33..2b42a6a92 100644 --- a/src/class.c +++ b/src/class.c @@ -1500,7 +1500,7 @@ undef_method(mrb_state *mrb, struct RClass *c, mrb_sym a) mrb_name_error(mrb, a, "undefined method '%S' for class '%S'", mrb_sym2str(mrb, a), mrb_obj_value(c)); } else { - MRB_SET_VALUE(m, MRB_TT_PROC, value.p, 0); + SET_PROC_VALUE(m, 0); mrb_define_method_vm(mrb, c, a, m); } } diff --git a/src/etc.c b/src/etc.c index bc5d116a0..269374b42 100644 --- a/src/etc.c +++ b/src/etc.c @@ -148,7 +148,7 @@ mrb_obj_id(mrb_value obj) #ifdef MRB_WORD_BOXING mrb_value -mrb_float_value(mrb_state *mrb, mrb_float f) +word_boxing_mrb_float_value(mrb_state *mrb, mrb_float f) { mrb_value v; @@ -158,7 +158,7 @@ mrb_float_value(mrb_state *mrb, mrb_float f) } mrb_value -mrb_float_pool(mrb_state *mrb, mrb_float f) +word_boxing_mrb_float_pool(mrb_state *mrb, mrb_float f) { struct RFloat *nf = (struct RFloat *)mrb_malloc(mrb, sizeof(struct RFloat)); nf->tt = MRB_TT_FLOAT; @@ -168,7 +168,7 @@ mrb_float_pool(mrb_state *mrb, mrb_float f) } mrb_value -mrb_cptr_value(mrb_state *mrb, void *p) +word_boxing_mrb_cptr_value(mrb_state *mrb, void *p) { mrb_value v; diff --git a/src/numeric.c b/src/numeric.c index b8c3ae4a4..3f7600151 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -687,12 +687,8 @@ int_to_i(mrb_state *mrb, mrb_value num) return num; } -#ifdef MRB_FIXNUM_SHIFT -#define SQRT_INT_MAX ((mrb_int)1<<((MRB_INT_BIT-1-MRB_FIXNUM_SHIFT)/2)) -#else -#define SQRT_INT_MAX ((mrb_int)1<<((MRB_INT_BIT-1)/2)) -#endif /*tests if N*N would overflow*/ +#define SQRT_INT_MAX ((mrb_int)1<<((MRB_INT_BIT-1-MRB_FIXNUM_SHIFT)/2)) #define FIT_SQRT_INT(n) (((n)=-SQRT_INT_MAX)) mrb_value diff --git a/src/object.c b/src/object.c index 6d39254dd..49539464a 100644 --- a/src/object.c +++ b/src/object.c @@ -19,9 +19,9 @@ mrb_obj_eq(mrb_state *mrb, mrb_value v1, mrb_value v2) case MRB_TT_FALSE: case MRB_TT_FIXNUM: - return (v1.value.i == v2.value.i); + return (mrb_fixnum(v1) == mrb_fixnum(v2)); case MRB_TT_SYMBOL: - return (v1.value.sym == v2.value.sym); + return (mrb_symbol(v1) == mrb_symbol(v2)); case MRB_TT_FLOAT: return (mrb_float(v1) == mrb_float(v2)); diff --git a/src/vm.c b/src/vm.c index 77fd06a94..04533aff0 100644 --- a/src/vm.c +++ b/src/vm.c @@ -32,20 +32,6 @@ void abort(void); #endif #endif -#define SET_TRUE_VALUE(r) MRB_SET_VALUE(r, MRB_TT_TRUE, value.i, 1) -#define SET_FALSE_VALUE(r) MRB_SET_VALUE(r, MRB_TT_FALSE, value.i, 1) -#define SET_NIL_VALUE(r) MRB_SET_VALUE(r, MRB_TT_FALSE, value.i, 0) -#define SET_INT_VALUE(r,n) MRB_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) -#define SET_SYM_VALUE(r,v) MRB_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v)) -#define SET_OBJ_VALUE(r,v) MRB_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v)) -#ifdef MRB_NAN_BOXING -#define SET_FLT_VALUE(mrb,r,v) r.f = (v) -#elif defined(MRB_WORD_BOXING) -#define SET_FLT_VALUE(mrb,r,v) r = mrb_float_value(mrb, (v)) -#else -#define SET_FLT_VALUE(mrb,r,v) MRB_SET_VALUE(r, MRB_TT_FLOAT, value.f, (v)) -#endif - #define STACK_INIT_SIZE 128 #define CALLINFO_INIT_SIZE 32 @@ -802,7 +788,7 @@ RETRY_TRY_BLOCK: CASE(OP_LOADI) { /* A sBx R(A) := sBx */ - SET_INT_VALUE(regs[GETARG_A(i)], GETARG_sBx(i)); + SET_FIXNUM_VALUE(regs[GETARG_A(i)], GETARG_sBx(i)); NEXT; } @@ -1680,18 +1666,9 @@ RETRY_TRY_BLOCK: NEXT; } -#define attr_i value.i -#ifdef MRB_NAN_BOXING -#define attr_f f -#elif defined(MRB_WORD_BOXING) -#define attr_f value.fp->f -#else -#define attr_f value.f -#endif - #define TYPES2(a,b) ((((uint16_t)(a))<<8)|(((uint16_t)(b))&0xff)) #define OP_MATH_BODY(op,v1,v2) do {\ - regs[a].v1 = regs[a].v1 op regs[a+1].v2;\ + v1(regs[a]) = v1(regs[a]) op v2(regs[a+1]);\ } while(0) CASE(OP_ADD) { @@ -1708,17 +1685,17 @@ RETRY_TRY_BLOCK: x = mrb_fixnum(regs_a[0]); y = mrb_fixnum(regs_a[1]); if (mrb_int_add_overflow(x, y, &z)) { - SET_FLT_VALUE(mrb, regs_a[0], (mrb_float)x + (mrb_float)y); + SET_FLOAT_VALUE(mrb, regs_a[0], (mrb_float)x + (mrb_float)y); break; } - SET_INT_VALUE(regs[a], z); + SET_FIXNUM_VALUE(regs[a], z); } break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): { mrb_int x = mrb_fixnum(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x + y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x + y); } break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): @@ -1726,10 +1703,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_int y = mrb_fixnum(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x + y); + SET_FLOAT_VALUE(mrb, regs[a], x + y); } #else - OP_MATH_BODY(+,attr_f,attr_i); + OP_MATH_BODY(+,mrb_float,mrb_fixnum); #endif break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): @@ -1737,10 +1714,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x + y); + SET_FLOAT_VALUE(mrb, regs[a], x + y); } #else - OP_MATH_BODY(+,attr_f,attr_f); + OP_MATH_BODY(+,mrb_float,mrb_float); #endif break; case TYPES2(MRB_TT_STRING,MRB_TT_STRING): @@ -1766,17 +1743,17 @@ RETRY_TRY_BLOCK: x = mrb_fixnum(regs[a]); y = mrb_fixnum(regs[a+1]); if (mrb_int_sub_overflow(x, y, &z)) { - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x - (mrb_float)y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x - (mrb_float)y); break; } - SET_INT_VALUE(regs[a], z); + SET_FIXNUM_VALUE(regs[a], z); } break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): { mrb_int x = mrb_fixnum(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x - y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x - y); } break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): @@ -1784,10 +1761,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_int y = mrb_fixnum(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x - y); + SET_FLOAT_VALUE(mrb, regs[a], x - y); } #else - OP_MATH_BODY(-,attr_f,attr_i); + OP_MATH_BODY(-,mrb_float,mrb_fixnum); #endif break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): @@ -1795,10 +1772,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x - y); + SET_FLOAT_VALUE(mrb, regs[a], x - y); } #else - OP_MATH_BODY(-,attr_f,attr_f); + OP_MATH_BODY(-,mrb_float,mrb_float); #endif break; default: @@ -1822,12 +1799,12 @@ RETRY_TRY_BLOCK: switch (mrb_type(z)) { case MRB_TT_FIXNUM: { - SET_INT_VALUE(regs[a], mrb_fixnum(z)); + SET_FIXNUM_VALUE(regs[a], mrb_fixnum(z)); } break; case MRB_TT_FLOAT: { - SET_FLT_VALUE(mrb, regs[a], mrb_float(z)); + SET_FLOAT_VALUE(mrb, regs[a], mrb_float(z)); } break; default: @@ -1840,7 +1817,7 @@ RETRY_TRY_BLOCK: { mrb_int x = mrb_fixnum(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x * y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x * y); } break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): @@ -1848,10 +1825,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_int y = mrb_fixnum(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x * y); + SET_FLOAT_VALUE(mrb, regs[a], x * y); } #else - OP_MATH_BODY(*,attr_f,attr_i); + OP_MATH_BODY(*,mrb_float,mrb_fixnum); #endif break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): @@ -1859,10 +1836,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x * y); + SET_FLOAT_VALUE(mrb, regs[a], x * y); } #else - OP_MATH_BODY(*,attr_f,attr_f); + OP_MATH_BODY(*,mrb_float,mrb_float); #endif break; default: @@ -1881,14 +1858,14 @@ RETRY_TRY_BLOCK: { mrb_int x = mrb_fixnum(regs[a]); mrb_int y = mrb_fixnum(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x / (mrb_float)y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x / (mrb_float)y); } break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): { mrb_int x = mrb_fixnum(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x / y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x / y); } break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM): @@ -1896,10 +1873,10 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_int y = mrb_fixnum(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x / y); + SET_FLOAT_VALUE(mrb, regs[a], x / y); } #else - OP_MATH_BODY(/,attr_f,attr_i); + OP_MATH_BODY(/,mrb_float,mrb_fixnum); #endif break; case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT): @@ -1907,18 +1884,18 @@ RETRY_TRY_BLOCK: { mrb_float x = mrb_float(regs[a]); mrb_float y = mrb_float(regs[a+1]); - SET_FLT_VALUE(mrb, regs[a], x / y); + SET_FLOAT_VALUE(mrb, regs[a], x / y); } #else - OP_MATH_BODY(/,attr_f,attr_f); + OP_MATH_BODY(/,mrb_float,mrb_float); #endif break; default: goto L_SEND; } #ifdef MRB_NAN_BOXING - if (isnan(regs[a].attr_f)) { - regs[a] = mrb_float_value(mrb, regs[a].attr_f); + if (isnan(mrb_float(regs[a]))) { + regs[a] = mrb_float_value(mrb, mrb_float(regs[a])); } #endif NEXT; @@ -1932,29 +1909,29 @@ RETRY_TRY_BLOCK: switch (mrb_type(regs[a])) { case MRB_TT_FIXNUM: { - mrb_int x = regs[a].attr_i; + mrb_int x = mrb_fixnum(regs[a]); mrb_int y = GETARG_C(i); mrb_int z; if (mrb_int_add_overflow(x, y, &z)) { - SET_FLT_VALUE(mrb, regs[a], (mrb_float)x + (mrb_float)y); + SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x + (mrb_float)y); break; } - regs[a].attr_i = z; + mrb_fixnum(regs[a]) = z; } break; case MRB_TT_FLOAT: #ifdef MRB_WORD_BOXING { mrb_float x = mrb_float(regs[a]); - SET_FLT_VALUE(mrb, regs[a], x + GETARG_C(i)); + SET_FLOAT_VALUE(mrb, regs[a], x + GETARG_C(i)); } #else - regs[a].attr_f += GETARG_C(i); + mrb_float(regs[a]) += GETARG_C(i); #endif break; default: - SET_INT_VALUE(regs[a+1], GETARG_C(i)); + SET_FIXNUM_VALUE(regs[a+1], GETARG_C(i)); i = MKOP_ABC(OP_SEND, a, GETARG_B(i), 1); goto L_SEND; } @@ -1970,15 +1947,15 @@ RETRY_TRY_BLOCK: switch (mrb_type(regs_a[0])) { case MRB_TT_FIXNUM: { - mrb_int x = regs_a[0].attr_i; + mrb_int x = mrb_fixnum(regs_a[0]); mrb_int y = GETARG_C(i); mrb_int z; if (mrb_int_sub_overflow(x, y, &z)) { - SET_FLT_VALUE(mrb, regs_a[0], (mrb_float)x - (mrb_float)y); + SET_FLOAT_VALUE(mrb, regs_a[0], (mrb_float)x - (mrb_float)y); } else { - regs_a[0].attr_i = z; + mrb_fixnum(regs_a[0]) = z; } } break; @@ -1986,37 +1963,37 @@ RETRY_TRY_BLOCK: #ifdef MRB_WORD_BOXING { mrb_float x = mrb_float(regs[a]); - SET_FLT_VALUE(mrb, regs[a], x - GETARG_C(i)); + SET_FLOAT_VALUE(mrb, regs[a], x - GETARG_C(i)); } #else - regs_a[0].attr_f -= GETARG_C(i); + mrb_float(regs_a[0]) -= GETARG_C(i); #endif break; default: - SET_INT_VALUE(regs_a[1], GETARG_C(i)); + SET_FIXNUM_VALUE(regs_a[1], GETARG_C(i)); i = MKOP_ABC(OP_SEND, a, GETARG_B(i), 1); goto L_SEND; } NEXT; } -#define OP_CMP_BODY(op,v1,v2) (regs[a].v1 op regs[a+1].v2) +#define OP_CMP_BODY(op,v1,v2) (v1(regs[a]) op v2(regs[a+1])) #define OP_CMP(op) do {\ int result;\ /* need to check if - is overridden */\ switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) {\ case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM):\ - result = OP_CMP_BODY(op,attr_i,attr_i);\ + result = OP_CMP_BODY(op,mrb_fixnum,mrb_fixnum);\ break;\ case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT):\ - result = OP_CMP_BODY(op,attr_i,attr_f);\ + result = OP_CMP_BODY(op,mrb_fixnum,mrb_float);\ break;\ case TYPES2(MRB_TT_FLOAT,MRB_TT_FIXNUM):\ - result = OP_CMP_BODY(op,attr_f,attr_i);\ + result = OP_CMP_BODY(op,mrb_float,mrb_fixnum);\ break;\ case TYPES2(MRB_TT_FLOAT,MRB_TT_FLOAT):\ - result = OP_CMP_BODY(op,attr_f,attr_f);\ + result = OP_CMP_BODY(op,mrb_float,mrb_float);\ break;\ default:\ goto L_SEND;\ -- cgit v1.2.3 From 0cf86dea0e6118f3b380a63de02ae1f6873c8a45 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 9 Jul 2014 06:17:15 +0900 Subject: rename SET_FIXNUM_VALUE to SET_INT_VALUE since it sets mrb_int value --- include/mruby/boxing_nan.h | 2 +- include/mruby/boxing_nix.h | 2 +- include/mruby/boxing_word.h | 2 +- include/mruby/value.h | 2 +- src/vm.c | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/include/mruby/boxing_nan.h b/include/mruby/boxing_nan.h index c8054a15d..ab5807b08 100644 --- a/include/mruby/boxing_nan.h +++ b/include/mruby/boxing_nan.h @@ -84,7 +84,7 @@ typedef struct mrb_value { #define SET_FALSE_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_FALSE, value.i, 1) #define SET_TRUE_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_TRUE, value.i, 1) #define SET_BOOL_VALUE(r,b) BOXNAN_SET_VALUE(r, b ? MRB_TT_TRUE : MRB_TT_FALSE, value.i, 1) -#define SET_FIXNUM_VALUE(r,n) BOXNAN_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) +#define SET_INT_VALUE(r,n) BOXNAN_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) #define SET_SYM_VALUE(r,v) BOXNAN_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v)) #define SET_OBJ_VALUE(r,v) BOXNAN_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v)) #define SET_PROC_VALUE(r,v) BOXNAN_SET_VALUE(r, MRB_TT_PROC, value.p, v) diff --git a/include/mruby/boxing_nix.h b/include/mruby/boxing_nix.h index a6744c008..2f5082fd2 100644 --- a/include/mruby/boxing_nix.h +++ b/include/mruby/boxing_nix.h @@ -38,7 +38,7 @@ typedef struct mrb_value { #define SET_FALSE_VALUE(r) BOXNIX_SET_VALUE(r, MRB_TT_FALSE, value.i, 1) #define SET_TRUE_VALUE(r) BOXNIX_SET_VALUE(r, MRB_TT_TRUE, value.i, 1) #define SET_BOOL_VALUE(r,b) BOXNIX_SET_VALUE(r, b ? MRB_TT_TRUE : MRB_TT_FALSE, value.i, 1) -#define SET_FIXNUM_VALUE(r,n) BOXNIX_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) +#define SET_INT_VALUE(r,n) BOXNIX_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) #define SET_FLOAT_VALUE(mrb,r,v) BOXNIX_SET_VALUE(r, MRB_TT_FLOAT, value.f, (v)) #define SET_SYM_VALUE(r,v) BOXNIX_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v)) #define SET_OBJ_VALUE(r,v) BOXNIX_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v)) diff --git a/include/mruby/boxing_word.h b/include/mruby/boxing_word.h index 09e4794e6..9984a5e22 100644 --- a/include/mruby/boxing_word.h +++ b/include/mruby/boxing_word.h @@ -100,7 +100,7 @@ mrb_type(mrb_value o) #define SET_FALSE_VALUE(r) BOXWORD_SET_VALUE(r, MRB_TT_FALSE, value.i, 1) #define SET_TRUE_VALUE(r) BOXWORD_SET_VALUE(r, MRB_TT_TRUE, value.i, 1) #define SET_BOOL_VALUE(r,b) BOXWORD_SET_VALUE(r, b ? MRB_TT_TRUE : MRB_TT_FALSE, value.i, 1) -#define SET_FIXNUM_VALUE(r,n) BOXWORD_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) +#define SET_INT_VALUE(r,n) BOXWORD_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n)) #define SET_SYM_VALUE(r,v) BOXWORD_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v)) #define SET_OBJ_VALUE(r,v) BOXWORD_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v)) #define SET_PROC_VALUE(r,v) BOXWORD_SET_VALUE(r, MRB_TT_PROC, value.p, v) diff --git a/include/mruby/value.h b/include/mruby/value.h index 1c57cf26c..bed29ba9c 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -145,7 +145,7 @@ static inline mrb_value mrb_fixnum_value(mrb_int i) { mrb_value v; - SET_FIXNUM_VALUE(v, i); + SET_INT_VALUE(v, i); return v; } diff --git a/src/vm.c b/src/vm.c index 04533aff0..20a51eff4 100644 --- a/src/vm.c +++ b/src/vm.c @@ -788,7 +788,7 @@ RETRY_TRY_BLOCK: CASE(OP_LOADI) { /* A sBx R(A) := sBx */ - SET_FIXNUM_VALUE(regs[GETARG_A(i)], GETARG_sBx(i)); + SET_INT_VALUE(regs[GETARG_A(i)], GETARG_sBx(i)); NEXT; } @@ -1688,7 +1688,7 @@ RETRY_TRY_BLOCK: SET_FLOAT_VALUE(mrb, regs_a[0], (mrb_float)x + (mrb_float)y); break; } - SET_FIXNUM_VALUE(regs[a], z); + SET_INT_VALUE(regs[a], z); } break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): @@ -1746,7 +1746,7 @@ RETRY_TRY_BLOCK: SET_FLOAT_VALUE(mrb, regs[a], (mrb_float)x - (mrb_float)y); break; } - SET_FIXNUM_VALUE(regs[a], z); + SET_INT_VALUE(regs[a], z); } break; case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT): @@ -1799,7 +1799,7 @@ RETRY_TRY_BLOCK: switch (mrb_type(z)) { case MRB_TT_FIXNUM: { - SET_FIXNUM_VALUE(regs[a], mrb_fixnum(z)); + SET_INT_VALUE(regs[a], mrb_fixnum(z)); } break; case MRB_TT_FLOAT: @@ -1931,7 +1931,7 @@ RETRY_TRY_BLOCK: #endif break; default: - SET_FIXNUM_VALUE(regs[a+1], GETARG_C(i)); + SET_INT_VALUE(regs[a+1], GETARG_C(i)); i = MKOP_ABC(OP_SEND, a, GETARG_B(i), 1); goto L_SEND; } @@ -1970,7 +1970,7 @@ RETRY_TRY_BLOCK: #endif break; default: - SET_FIXNUM_VALUE(regs_a[1], GETARG_C(i)); + SET_INT_VALUE(regs_a[1], GETARG_C(i)); i = MKOP_ABC(OP_SEND, a, GETARG_B(i), 1); goto L_SEND; } -- cgit v1.2.3 From 61bba9accfc43793120bf79aa9bc6700896161b7 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 9 Jul 2014 06:20:04 +0900 Subject: rename word boxing functions --- include/mruby/boxing_word.h | 12 ++++++------ src/etc.c | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/include/mruby/boxing_word.h b/include/mruby/boxing_word.h index 9984a5e22..6057311a8 100644 --- a/include/mruby/boxing_word.h +++ b/include/mruby/boxing_word.h @@ -43,11 +43,11 @@ typedef union mrb_value { unsigned long w; } mrb_value; -mrb_value word_boxing_mrb_cptr_value(struct mrb_state*, void*); -mrb_value word_boxing_mrb_float_value(struct mrb_state*, mrb_float); -mrb_value word_boxing_mrb_float_pool(struct mrb_state*, mrb_float); +mrb_value mrb_word_boxing_cptr_value(struct mrb_state*, void*); +mrb_value mrb_word_boxing_float_value(struct mrb_state*, mrb_float); +mrb_value mrb_word_boxing_float_pool(struct mrb_state*, mrb_float); -#define mrb_float_pool(mrb,f) word_boxing_mrb_float_pool(mrb,f) +#define mrb_float_pool(mrb,f) mrb_word_boxing_float_pool(mrb,f) #define mrb_ptr(o) (o).value.p #define mrb_cptr(o) (o).value.vp->p @@ -94,8 +94,8 @@ mrb_type(mrb_value o) }\ } while (0) -#define SET_FLOAT_VALUE(mrb,r,v) r = word_boxing_mrb_float_value(mrb, v) -#define SET_CPTR_VALUE(mrb,r,v) r = word_boxing_mrb_cptr_value(mrb, v) +#define SET_FLOAT_VALUE(mrb,r,v) r = mrb_word_boxing_float_value(mrb, v) +#define SET_CPTR_VALUE(mrb,r,v) r = mrb_word_boxing_cptr_value(mrb, v) #define SET_NIL_VALUE(r) BOXWORD_SET_VALUE(r, MRB_TT_FALSE, value.i, 0) #define SET_FALSE_VALUE(r) BOXWORD_SET_VALUE(r, MRB_TT_FALSE, value.i, 1) #define SET_TRUE_VALUE(r) BOXWORD_SET_VALUE(r, MRB_TT_TRUE, value.i, 1) diff --git a/src/etc.c b/src/etc.c index 269374b42..95f55fc82 100644 --- a/src/etc.c +++ b/src/etc.c @@ -148,7 +148,7 @@ mrb_obj_id(mrb_value obj) #ifdef MRB_WORD_BOXING mrb_value -word_boxing_mrb_float_value(mrb_state *mrb, mrb_float f) +mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f) { mrb_value v; @@ -158,7 +158,7 @@ word_boxing_mrb_float_value(mrb_state *mrb, mrb_float f) } mrb_value -word_boxing_mrb_float_pool(mrb_state *mrb, mrb_float f) +mrb_word_boxing_float_pool(mrb_state *mrb, mrb_float f) { struct RFloat *nf = (struct RFloat *)mrb_malloc(mrb, sizeof(struct RFloat)); nf->tt = MRB_TT_FLOAT; @@ -168,7 +168,7 @@ word_boxing_mrb_float_pool(mrb_state *mrb, mrb_float f) } mrb_value -word_boxing_mrb_cptr_value(mrb_state *mrb, void *p) +mrb_word_boxing_cptr_value(mrb_state *mrb, void *p) { mrb_value v; -- cgit v1.2.3