mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #6799 from dearblue/mrb_state
This commit is contained in:
@@ -150,7 +150,7 @@ mrb_nan_boxing_value_int(mrb_value v)
|
||||
#define SET_TRUE_VALUE(r) NANBOX_SET_MISC_VALUE(r, MRB_TT_TRUE, 1)
|
||||
#define SET_BOOL_VALUE(r,b) NANBOX_SET_MISC_VALUE(r, (b) ? MRB_TT_TRUE : MRB_TT_FALSE, 1)
|
||||
#ifdef MRB_INT64
|
||||
MRB_API mrb_value mrb_boxing_int_value(struct mrb_state*, mrb_int);
|
||||
MRB_API mrb_value mrb_boxing_int_value(mrb_state*, mrb_int);
|
||||
#define SET_INT_VALUE(mrb, r, n) ((r) = mrb_boxing_int_value(mrb, n))
|
||||
#else
|
||||
#define SET_INT_VALUE(mrb, r, n) SET_FIXNUM_VALUE(r, n)
|
||||
|
||||
@@ -165,11 +165,11 @@ mrb_val_union(mrb_value v)
|
||||
return x;
|
||||
}
|
||||
|
||||
MRB_API mrb_value mrb_word_boxing_cptr_value(struct mrb_state*, void*);
|
||||
MRB_API mrb_value mrb_word_boxing_cptr_value(mrb_state*, void*);
|
||||
#ifndef MRB_NO_FLOAT
|
||||
MRB_API mrb_value mrb_word_boxing_float_value(struct mrb_state*, mrb_float);
|
||||
MRB_API mrb_value mrb_word_boxing_float_value(mrb_state*, mrb_float);
|
||||
#endif
|
||||
MRB_API mrb_value mrb_boxing_int_value(struct mrb_state*, mrb_int);
|
||||
MRB_API mrb_value mrb_boxing_int_value(mrb_state*, mrb_int);
|
||||
|
||||
#if WORDBOX_IMMEDIATE_MASK == 0x3
|
||||
#define mrb_immediate_p(o) ((o).w & WORDBOX_IMMEDIATE_MASK || (o).w <= MRB_Qundef)
|
||||
|
||||
+5
-8
@@ -14,15 +14,12 @@
|
||||
*/
|
||||
MRB_BEGIN_DECL
|
||||
|
||||
|
||||
struct mrb_state;
|
||||
|
||||
#define MRB_EACH_OBJ_OK 0
|
||||
#define MRB_EACH_OBJ_BREAK 1
|
||||
typedef int (mrb_each_object_callback)(struct mrb_state *mrb, struct RBasic *obj, void *data);
|
||||
void mrb_objspace_each_objects(struct mrb_state *mrb, mrb_each_object_callback *callback, void *data);
|
||||
typedef int (mrb_each_object_callback)(mrb_state *mrb, struct RBasic *obj, void *data);
|
||||
void mrb_objspace_each_objects(mrb_state *mrb, mrb_each_object_callback *callback, void *data);
|
||||
size_t mrb_objspace_page_slot_size(void);
|
||||
MRB_API void mrb_free_context(struct mrb_state *mrb, struct mrb_context *c);
|
||||
MRB_API void mrb_free_context(mrb_state *mrb, struct mrb_context *c);
|
||||
|
||||
#ifndef MRB_GC_ARENA_SIZE
|
||||
#define MRB_GC_ARENA_SIZE 100
|
||||
@@ -69,8 +66,8 @@ typedef struct mrb_gc {
|
||||
int arena_idx;
|
||||
} mrb_gc;
|
||||
|
||||
MRB_API mrb_bool mrb_object_dead_p(struct mrb_state *mrb, struct RBasic *object);
|
||||
MRB_API int mrb_gc_add_region(struct mrb_state *mrb, void *start, size_t size);
|
||||
MRB_API mrb_bool mrb_object_dead_p(mrb_state *mrb, struct RBasic *object);
|
||||
MRB_API int mrb_gc_add_region(mrb_state *mrb, void *start, size_t size);
|
||||
|
||||
#define MRB_GC_RED 7
|
||||
|
||||
|
||||
@@ -55,8 +55,6 @@ typedef uint8_t mrb_bool;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
struct mrb_state;
|
||||
|
||||
#if defined _MSC_VER && _MSC_VER < 1800
|
||||
# define PRIo64 "llo"
|
||||
# define PRId64 "lld"
|
||||
@@ -330,7 +328,7 @@ struct RCptr {
|
||||
*/
|
||||
#ifndef MRB_NO_FLOAT
|
||||
MRB_INLINE mrb_value
|
||||
mrb_float_value(struct mrb_state *mrb, mrb_float f)
|
||||
mrb_float_value(mrb_state *mrb, mrb_float f)
|
||||
{
|
||||
mrb_value v;
|
||||
(void) mrb;
|
||||
@@ -340,7 +338,7 @@ mrb_float_value(struct mrb_state *mrb, mrb_float f)
|
||||
#endif
|
||||
|
||||
MRB_INLINE mrb_value
|
||||
mrb_cptr_value(struct mrb_state *mrb, void *p)
|
||||
mrb_cptr_value(mrb_state *mrb, void *p)
|
||||
{
|
||||
mrb_value v;
|
||||
(void) mrb;
|
||||
@@ -352,7 +350,7 @@ mrb_cptr_value(struct mrb_state *mrb, void *p)
|
||||
* Returns an integer in Ruby.
|
||||
*/
|
||||
MRB_INLINE mrb_value
|
||||
mrb_int_value(struct mrb_state *mrb, mrb_int i)
|
||||
mrb_int_value(mrb_state *mrb, mrb_int i)
|
||||
{
|
||||
mrb_value v;
|
||||
SET_INT_VALUE(mrb, v, i);
|
||||
|
||||
Reference in New Issue
Block a user