diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/compile.h | 2 | ||||
| -rw-r--r-- | include/mruby/hash.h | 8 | ||||
| -rw-r--r-- | include/mruby/irep.h | 6 | ||||
| -rw-r--r-- | include/mruby/object.h | 5 | ||||
| -rw-r--r-- | include/mruby/proc.h | 8 | ||||
| -rw-r--r-- | include/mruby/string.h | 5 | ||||
| -rw-r--r-- | include/mruby/value.h | 2 | ||||
| -rw-r--r-- | include/mruby/variable.h | 12 |
8 files changed, 27 insertions, 21 deletions
diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 5efdef213..a85939998 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -29,6 +29,7 @@ typedef struct mrbc_context { mrb_bool dump_result:1; mrb_bool no_exec:1; mrb_bool keep_lv:1; + mrb_bool no_optimize:1; } mrbc_context; mrbc_context* mrbc_context_new(mrb_state *mrb); @@ -143,6 +144,7 @@ struct mrb_parser_state { size_t nwarn; mrb_ast_node *tree; + mrb_bool no_optimize:1; mrb_bool capture_errors:1; struct mrb_parser_message error_buffer[10]; struct mrb_parser_message warn_buffer[10]; diff --git a/include/mruby/hash.h b/include/mruby/hash.h index dbad3e1fc..5339312c6 100644 --- a/include/mruby/hash.h +++ b/include/mruby/hash.h @@ -21,7 +21,7 @@ struct RHash { #define mrb_hash_value(p) mrb_obj_value((void*)(p)) MRB_API mrb_value mrb_hash_new_capa(mrb_state*, int); -mrb_value mrb_hash_new(mrb_state *mrb); +MRB_API mrb_value mrb_hash_new(mrb_state *mrb); MRB_API void mrb_hash_set(mrb_state *mrb, mrb_value hash, mrb_value key, mrb_value val); MRB_API mrb_value mrb_hash_get(mrb_state *mrb, mrb_value hash, mrb_value key); @@ -43,9 +43,9 @@ MRB_API struct kh_ht * mrb_hash_tbl(mrb_state *mrb, mrb_value hash); #define MRB_RHASH_PROCDEFAULT_P(h) (RHASH(h)->flags & MRB_HASH_PROC_DEFAULT) /* GC functions */ -MRB_API void mrb_gc_mark_hash(mrb_state*, struct RHash*); -MRB_API size_t mrb_gc_mark_hash_size(mrb_state*, struct RHash*); -MRB_API void mrb_gc_free_hash(mrb_state*, struct RHash*); +void mrb_gc_mark_hash(mrb_state*, struct RHash*); +size_t mrb_gc_mark_hash_size(mrb_state*, struct RHash*); +void mrb_gc_free_hash(mrb_state*, struct RHash*); #if defined(__cplusplus) } /* extern "C" { */ diff --git a/include/mruby/irep.h b/include/mruby/irep.h index 766431e2c..f4061bb54 100644 --- a/include/mruby/irep.h +++ b/include/mruby/irep.h @@ -49,9 +49,9 @@ typedef struct mrb_irep { MRB_API mrb_irep *mrb_add_irep(mrb_state *mrb); MRB_API mrb_value mrb_load_irep(mrb_state*, const uint8_t*); MRB_API mrb_value mrb_load_irep_cxt(mrb_state*, const uint8_t*, mrbc_context*); -MRB_API void mrb_irep_free(mrb_state*, struct mrb_irep*); -MRB_API void mrb_irep_incref(mrb_state*, struct mrb_irep*); -MRB_API void mrb_irep_decref(mrb_state*, struct mrb_irep*); +void mrb_irep_free(mrb_state*, struct mrb_irep*); +void mrb_irep_incref(mrb_state*, struct mrb_irep*); +void mrb_irep_decref(mrb_state*, struct mrb_irep*); #if defined(__cplusplus) } /* extern "C" { */ diff --git a/include/mruby/object.h b/include/mruby/object.h index 56917a021..fe55620fe 100644 --- a/include/mruby/object.h +++ b/include/mruby/object.h @@ -37,16 +37,13 @@ struct RBasic { MRB_OBJECT_HEADER; }; #define mrb_basic_ptr(v) ((struct RBasic*)(mrb_ptr(v))) -/* obsolete macro mrb_basic; will be removed soon */ -#define mrb_basic(v) mrb_basic_ptr(v) struct RObject { MRB_OBJECT_HEADER; struct iv_tbl *iv; }; #define mrb_obj_ptr(v) ((struct RObject*)(mrb_ptr(v))) -/* obsolete macro mrb_object; will be removed soon */ -#define mrb_object(o) mrb_obj_ptr(o) + #define mrb_immediate_p(x) (mrb_type(x) < MRB_TT_HAS_BASIC) #define mrb_special_const_p(x) mrb_immediate_p(x) diff --git a/include/mruby/proc.h b/include/mruby/proc.h index 9c25c9c46..fe5a1d2f6 100644 --- a/include/mruby/proc.h +++ b/include/mruby/proc.h @@ -54,14 +54,16 @@ struct RProc *mrb_proc_new(mrb_state*, mrb_irep*); struct RProc *mrb_closure_new(mrb_state*, mrb_irep*); MRB_API struct RProc *mrb_proc_new_cfunc(mrb_state*, mrb_func_t); MRB_API struct RProc *mrb_closure_new_cfunc(mrb_state *mrb, mrb_func_t func, int nlocals); -MRB_API void mrb_proc_copy(struct RProc *a, struct RProc *b); +void mrb_proc_copy(struct RProc *a, struct RProc *b); /* implementation of #send method */ -mrb_value mrb_f_send(mrb_state *mrb, mrb_value self); +MRB_API mrb_value mrb_f_send(mrb_state *mrb, mrb_value self); /* following functions are defined in mruby-proc-ext so please include it when using */ MRB_API struct RProc *mrb_proc_new_cfunc_with_env(mrb_state*, mrb_func_t, mrb_int, const mrb_value*); -MRB_API mrb_value mrb_cfunc_env_get(mrb_state*, mrb_int); +MRB_API mrb_value mrb_proc_cfunc_env_get(mrb_state*, mrb_int); +/* old name */ +#define mrb_cfunc_env_get(mrb, idx) mrb_proc_cfunc_env_get(mrb, idx) #include "mruby/khash.h" KHASH_DECLARE(mt, mrb_sym, struct RProc*, TRUE) diff --git a/include/mruby/string.h b/include/mruby/string.h index 0bd4cfc0f..5228dcbca 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -74,7 +74,7 @@ mrb_int mrb_str_strlen(mrb_state*, struct RString*); #define MRB_STR_EMBED_LEN_MASK 0xf8 #define MRB_STR_EMBED_LEN_SHIFT 3 -MRB_API void mrb_gc_free_str(mrb_state*, struct RString*); +void mrb_gc_free_str(mrb_state*, struct RString*); MRB_API void mrb_str_modify(mrb_state*, struct RString*); MRB_API void mrb_str_concat(mrb_state*, mrb_value, mrb_value); MRB_API mrb_value mrb_str_plus(mrb_state*, mrb_value, mrb_value); @@ -107,6 +107,9 @@ mrb_int mrb_str_hash(mrb_state *mrb, mrb_value str); mrb_value mrb_str_dump(mrb_state *mrb, mrb_value str); mrb_value mrb_str_inspect(mrb_state *mrb, mrb_value str); +void mrb_noregexp(mrb_state *mrb, mrb_value self); +void mrb_regexp_check(mrb_state *mrb, mrb_value obj); + /* For backward compatibility */ #define mrb_str_cat2(mrb, str, ptr) mrb_str_cat_cstr(mrb, str, ptr) #define mrb_str_buf_cat(mrb, str, ptr, len) mrb_str_cat(mrb, str, ptr, len) diff --git a/include/mruby/value.h b/include/mruby/value.h index b1278e3a3..859687ffc 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -7,7 +7,7 @@ #ifndef MRUBY_VALUE_H #define MRUBY_VALUE_H -typedef short mrb_sym; +typedef uint16_t mrb_sym; typedef uint8_t mrb_bool; struct mrb_state; diff --git a/include/mruby/variable.h b/include/mruby/variable.h index 0851a05bb..8758114b9 100644 --- a/include/mruby/variable.h +++ b/include/mruby/variable.h @@ -39,6 +39,8 @@ MRB_API void mrb_const_set(mrb_state*, mrb_value, mrb_sym, mrb_value); MRB_API mrb_bool mrb_const_defined(mrb_state*, mrb_value, mrb_sym); MRB_API void mrb_const_remove(mrb_state*, mrb_value, mrb_sym); +MRB_API mrb_bool mrb_iv_p(mrb_state *mrb, mrb_sym sym); +MRB_API mrb_bool mrb_iv_check(mrb_state *mrb, mrb_sym sym); MRB_API mrb_value mrb_obj_iv_get(mrb_state *mrb, struct RObject *obj, mrb_sym sym); MRB_API void mrb_obj_iv_set(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v); MRB_API mrb_bool mrb_obj_iv_defined(mrb_state *mrb, struct RObject *obj, mrb_sym sym); @@ -66,11 +68,11 @@ mrb_bool mrb_mod_cv_defined(mrb_state *mrb, struct RClass * c, mrb_sym sym); mrb_sym mrb_class_sym(mrb_state *mrb, struct RClass *c, struct RClass *outer); /* GC functions */ -MRB_API void mrb_gc_mark_gv(mrb_state*); -MRB_API void mrb_gc_free_gv(mrb_state*); -MRB_API void mrb_gc_mark_iv(mrb_state*, struct RObject*); -MRB_API size_t mrb_gc_mark_iv_size(mrb_state*, struct RObject*); -MRB_API void mrb_gc_free_iv(mrb_state*, struct RObject*); +void mrb_gc_mark_gv(mrb_state*); +void mrb_gc_free_gv(mrb_state*); +void mrb_gc_mark_iv(mrb_state*, struct RObject*); +size_t mrb_gc_mark_iv_size(mrb_state*, struct RObject*); +void mrb_gc_free_iv(mrb_state*, struct RObject*); #if defined(__cplusplus) } /* extern "C" { */ |
