For particular environments which has 25 < n < 32 bit int. There is no cost even if you use 16/32bit int targets.

This commit is contained in:
Masaki Muranaka
2013-03-22 17:55:16 +09:00
committed by Yukihiro Matz Matsumoto
parent 1756e8fc83
commit daeaa51b2d
+1 -1
View File
@@ -35,7 +35,7 @@
#define MKARG_C(c) (((c) & 0x7f) << 7)
#define MKARG_Bx(v) ((mrb_code)((v) & 0xffff) << 7)
#define MKARG_sBx(v) MKARG_Bx((v)+MAXARG_sBx)
#define MKARG_Ax(v) (((v) & 0x1ffffff) << 7)
#define MKARG_Ax(v) ((mrb_code)((v) & 0x1ffffff) << 7)
#define MKARG_PACK(b,n1,c,n2) ((((b) & ((1<<n1)-1)) << (7+n2))|(((c) & ((1<<n2)-1)) << 7))
#define MKARG_bc(b,c) MKARG_PACK(b,14,c,2)