mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
primary mruby fiber implementation
This commit is contained in:
@@ -12,5 +12,6 @@
|
||||
|
||||
typedef void (each_object_callback)(mrb_state *mrb, struct RBasic* obj, void *data);
|
||||
void mrb_objspace_each_objects(mrb_state *mrb, each_object_callback* callback, void *data);
|
||||
void mrb_free_context(mrb_state *mrb, struct mrb_context *c);
|
||||
|
||||
#endif /* MRUBY_GC_H */
|
||||
|
||||
@@ -34,7 +34,8 @@ enum mrb_vtype {
|
||||
MRB_TT_FILE, /* 19 */
|
||||
MRB_TT_ENV, /* 20 */
|
||||
MRB_TT_DATA, /* 21 */
|
||||
MRB_TT_MAXDEFINE /* 22 */
|
||||
MRB_TT_FIBER, /* 22 */
|
||||
MRB_TT_MAXDEFINE /* 23 */
|
||||
};
|
||||
|
||||
typedef struct mrb_value {
|
||||
@@ -92,7 +93,8 @@ enum mrb_vtype {
|
||||
MRB_TT_FILE, /* 20 */
|
||||
MRB_TT_ENV, /* 21 */
|
||||
MRB_TT_DATA, /* 22 */
|
||||
MRB_TT_MAXDEFINE /* 23 */
|
||||
MRB_TT_FIBER, /* 23 */
|
||||
MRB_TT_MAXDEFINE /* 24 */
|
||||
};
|
||||
|
||||
#ifdef MRB_ENDIAN_BIG
|
||||
@@ -202,6 +204,11 @@ struct RObject {
|
||||
#define mrb_immediate_p(x) (mrb_type(x) <= MRB_TT_VOIDP)
|
||||
#define mrb_special_const_p(x) mrb_immediate_p(x)
|
||||
|
||||
struct RFiber {
|
||||
MRB_OBJECT_HEADER;
|
||||
struct mrb_context *cxt;
|
||||
};
|
||||
|
||||
static inline mrb_value
|
||||
mrb_fixnum_value(mrb_int i)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user