diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/array.h | 6 | ||||
| -rw-r--r-- | include/mruby/boxing_word.h | 12 | ||||
| -rw-r--r-- | include/mruby/dump.h | 5 | ||||
| -rw-r--r-- | include/mruby/hash.h | 2 | ||||
| -rw-r--r-- | include/mruby/irep.h | 2 | ||||
| -rw-r--r-- | include/mruby/value.h | 8 |
6 files changed, 18 insertions, 17 deletions
diff --git a/include/mruby/array.h b/include/mruby/array.h index da811606a..16f78f773 100644 --- a/include/mruby/array.h +++ b/include/mruby/array.h @@ -21,7 +21,7 @@ typedef struct mrb_shared_array { mrb_value *ptr; } mrb_shared_array; -#if defined(MRB_32BIT) && defined(MRB_NO_BOXING) +#if defined(MRB_32BIT) && defined(MRB_NO_BOXING) && !defined(MRB_USE_FLOAT32) # define MRB_ARY_NO_EMBED # define MRB_ARY_EMBED_LEN_MAX 0 #else @@ -65,7 +65,7 @@ struct RArray { #define ARY_EMBED_PTR(a) ((a)->as.ary) #endif -#define ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(a)->as.heap.len) +#define ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(mrb_int)(a)->as.heap.len) #define ARY_PTR(a) (ARY_EMBED_P(a)?ARY_EMBED_PTR(a):(a)->as.heap.ptr) #define RARRAY_LEN(a) ARY_LEN(RARRAY(a)) #define RARRAY_PTR(a) ARY_PTR(RARRAY(a)) @@ -107,7 +107,7 @@ MRB_API mrb_value mrb_ary_new(mrb_state *mrb); * Array[value1, value2, ...] * * @param mrb The mruby state reference. - * @param size The numer of values. + * @param size The number of values. * @param vals The actual values. * @return The initialized array. */ diff --git a/include/mruby/boxing_word.h b/include/mruby/boxing_word.h index 86a04368f..beab8681e 100644 --- a/include/mruby/boxing_word.h +++ b/include/mruby/boxing_word.h @@ -84,9 +84,9 @@ union mrb_value_ { struct { MRB_ENDIAN_LOHI( mrb_sym sym; - ,uint32_t sym_flag; + ,uint32_t flag; ) - }; + } sym; #endif struct RBasic *bp; #ifndef MRB_NO_FLOAT @@ -129,7 +129,7 @@ mrb_integer_func(mrb_value o) { } #define mrb_integer(o) mrb_integer_func(o) #ifdef MRB_64BIT -#define mrb_symbol(o) mrb_val_union(o).sym +#define mrb_symbol(o) mrb_val_union(o).sym.sym #else #define mrb_symbol(o) (mrb_sym)(((o).w) >> BOXWORD_SYMBOL_SHIFT) #endif @@ -138,7 +138,7 @@ mrb_integer_func(mrb_value o) { #define mrb_fixnum_p(o) BOXWORD_SHIFT_VALUE_P(o, FIXNUM) #define mrb_integer_p(o) (BOXWORD_SHIFT_VALUE_P(o, FIXNUM)||BOXWORD_OBJ_TYPE_P(o, INTEGER)) #ifdef MRB_64BIT -#define mrb_symbol_p(o) (mrb_val_union(o).sym_flag == BOXWORD_SYMBOL_FLAG) +#define mrb_symbol_p(o) (mrb_val_union(o).sym.flag == BOXWORD_SYMBOL_FLAG) #else #define mrb_symbol_p(o) BOXWORD_SHIFT_VALUE_P(o, SYMBOL) #endif @@ -182,8 +182,8 @@ mrb_integer_func(mrb_value o) { #ifdef MRB_64BIT #define SET_SYM_VALUE(r,v) do {\ union mrb_value_ mrb_value_union_variable;\ - mrb_value_union_variable.sym = v;\ - mrb_value_union_variable.sym_flag = BOXWORD_SYMBOL_FLAG;\ + mrb_value_union_variable.sym.sym = v;\ + mrb_value_union_variable.sym.flag = BOXWORD_SYMBOL_FLAG;\ (r) = mrb_value_union_variable.value;\ } while (0) #else diff --git a/include/mruby/dump.h b/include/mruby/dump.h index ed0c64b1a..3c48866d9 100644 --- a/include/mruby/dump.h +++ b/include/mruby/dump.h @@ -16,7 +16,10 @@ */ MRB_BEGIN_DECL -#define DUMP_DEBUG_INFO 1 +/* flags for mrb_dump_irep{,_binary,_cfunc,_cstruct} */ +#define MRB_DUMP_DEBUG_INFO 1 +#define MRB_DUMP_STATIC 2 +#define DUMP_DEBUG_INFO MRB_DUMP_DEBUG_INFO /* deprecated */ int mrb_dump_irep(mrb_state *mrb, const mrb_irep *irep, uint8_t flags, uint8_t **bin, size_t *bin_size); #ifndef MRB_NO_STDIO diff --git a/include/mruby/hash.h b/include/mruby/hash.h index a16df2f75..749ea3869 100644 --- a/include/mruby/hash.h +++ b/include/mruby/hash.h @@ -29,7 +29,7 @@ struct RHash { union { struct hash_entry *ea; struct hash_table *ht; - }; + } hsh; }; #define mrb_hash_ptr(v) ((struct RHash*)(mrb_ptr(v))) diff --git a/include/mruby/irep.h b/include/mruby/irep.h index 8d1648e13..640b0177f 100644 --- a/include/mruby/irep.h +++ b/include/mruby/irep.h @@ -31,9 +31,7 @@ typedef struct mrb_pool_value { union { const char *str; int32_t i32; -#if defined(MRB_64BIT) || defined(MRB_INT64) int64_t i64; -#endif #ifndef MRB_NO_FLOAT mrb_float f; #endif diff --git a/include/mruby/value.h b/include/mruby/value.h index 293ef90a7..4831b55af 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -107,12 +107,12 @@ static const unsigned int IEEE754_INFINITY_BITS_SINGLE = 0x7F800000; enum mrb_vtype { MRB_TT_FALSE = 0, MRB_TT_TRUE, - MRB_TT_FLOAT, - MRB_TT_INTEGER, MRB_TT_SYMBOL, MRB_TT_UNDEF, - MRB_TT_CPTR, MRB_TT_FREE, + MRB_TT_FLOAT, + MRB_TT_INTEGER, + MRB_TT_CPTR, MRB_TT_OBJECT, MRB_TT_CLASS, MRB_TT_MODULE, @@ -177,7 +177,7 @@ struct RCptr { #endif #ifndef mrb_immediate_p -#define mrb_immediate_p(o) (mrb_type(o) < MRB_TT_FREE) +#define mrb_immediate_p(o) (mrb_type(o) <= MRB_TT_CPTR) #endif #ifndef mrb_integer_p #define mrb_integer_p(o) (mrb_type(o) == MRB_TT_INTEGER) |
