You don't need to keep index in local variables info in irep.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2020-06-29 08:34:56 +09:00
parent 639946a006
commit 3d8a38bea4
11 changed files with 4880 additions and 4712 deletions
+2 -1
View File
@@ -11,7 +11,7 @@
#error MRB_INT64 cannot be used with MRB_WORD_BOXING in 32-bit mode.
#endif
#ifndef MRB_WITHOUT_FLOAT
#if !defined(MRB_WITHOUT_FLOAT) || defined(MRB_NO_FLOAT_INLINE)
struct RFloat {
MRB_OBJECT_HEADER;
mrb_float f;
@@ -64,6 +64,7 @@ enum mrb_special_consts {
* undef : ...0001 0100
* fixnum: ...IIII III1
* symbol: ...SSSS SS10 (use only upper 32-bit as symbol value on 64-bit CPU)
* symbol: ...SSSS SS10 (use only upper 32-bit as symbol value on 64-bit CPU)
* object: ...PPPP P000 (any bits are 1)
*/
typedef union mrb_value {
+1 -6
View File
@@ -39,11 +39,6 @@ typedef struct mrb_pool_value {
} u;
} mrb_pool_value;
struct mrb_lvinfo { /* local variable info (name, idx) */
mrb_sym name;
uint16_t r;
};
/* Program data array struct */
typedef struct mrb_irep {
uint16_t nlocals; /* Number of local variables */
@@ -55,7 +50,7 @@ typedef struct mrb_irep {
const mrb_sym *syms;
const struct mrb_irep * const *reps;
const struct mrb_lvinfo *lv;
const mrb_sym *lv;
/* debug info */
struct mrb_irep_debug_info* debug_info;