diff options
Diffstat (limited to 'universal_parser.c')
| -rw-r--r-- | universal_parser.c | 156 |
1 files changed, 11 insertions, 145 deletions
diff --git a/universal_parser.c b/universal_parser.c index 6107b09995..84c71748af 100644 --- a/universal_parser.c +++ b/universal_parser.c @@ -13,7 +13,6 @@ #include "ruby/backward/2/inttypes.h" #include "probes.h" -#define LIKELY(x) RB_LIKELY(x) #define UNLIKELY(x) RB_UNLIKELY(x) #ifndef TRUE # define TRUE 1 @@ -23,20 +22,9 @@ # define FALSE 0 #endif #define numberof(array) ((int)(sizeof(array) / sizeof((array)[0]))) -#define rb_strlen_lit(str) (sizeof(str "") - 1) +#define rb_strlen_lit(str) ((sizeof(str "") / sizeof(str ""[0])) - 1) #undef FIXNUM_MAX #define FIXNUM_MAX (LONG_MAX / 2) -#undef RSTRING_GETMEM -#define RSTRING_GETMEM(str, ptrvar, lenvar) \ - ((ptrvar) = RSTRING_PTR(str), \ - (lenvar) = RSTRING_LEN(str)) -#if defined(USE_FLONUM) -# /* Take that. */ -#elif SIZEOF_VALUE >= SIZEOF_DOUBLE -# define USE_FLONUM 1 -#else -# define USE_FLONUM 0 -#endif /* parser_st */ #define st_table parser_st_table @@ -61,31 +49,12 @@ #define st_delete rb_parser_st_delete #undef st_is_member #define st_is_member parser_st_is_member +#undef st_init_table +#define st_init_table rb_parser_st_init_table +#undef st_lookup +#define st_lookup rb_parser_st_lookup -#define rb_encoding void - -#undef T_FLOAT -#define T_FLOAT 0x04 -#undef T_REGEXP -#define T_REGEXP 0x06 -#undef T_HASH -#define T_HASH 0x08 -#undef T_BIGNUM -#define T_BIGNUM 0x0a -#undef T_COMPLEX -#define T_COMPLEX 0x0e -#undef T_RATIONAL -#define T_RATIONAL 0x0f - -#ifndef INTERNAL_IMEMO_H -struct rb_imemo_tmpbuf_struct { - VALUE flags; - VALUE reserved; - VALUE *ptr; /* malloc'ed buffer */ - struct rb_imemo_tmpbuf_struct *next; /* next imemo */ - size_t cnt; /* buffer size in VALUE */ -}; -#endif +#define rb_encoding const void #undef xmalloc #define xmalloc p->config->malloc @@ -111,49 +80,15 @@ struct rb_imemo_tmpbuf_struct { #undef MEMCPY #define MEMCPY(p1,p2,type,n) (p->config->nonempty_memcpy((p1), (p2), sizeof(type), (n))) -#define rb_imemo_tmpbuf_parser_heap p->config->tmpbuf_parser_heap - #define compile_callback p->config->compile_callback #define reg_named_capture_assign p->config->reg_named_capture_assign -#define script_lines_defined p->config->script_lines_defined -#define script_lines_get p->config->script_lines_get - -#define rb_obj_freeze p->config->obj_freeze -#define rb_obj_hide p->config->obj_hide -#undef RB_OBJ_FROZEN -#define RB_OBJ_FROZEN p->config->obj_frozen -#undef RB_TYPE_P -#define RB_TYPE_P p->config->type_p -#undef OBJ_FREEZE_RAW -#define OBJ_FREEZE_RAW p->config->obj_freeze_raw - -#undef FIXNUM_P -#define FIXNUM_P p->config->fixnum_p -#undef SYMBOL_P -#define SYMBOL_P p->config->symbol_p #define rb_attr_get p->config->attr_get -#define rb_ary_new p->config->ary_new -#define rb_ary_push p->config->ary_push #undef rb_ary_new_from_args #define rb_ary_new_from_args p->config->ary_new_from_args -#define rb_ary_pop p->config->ary_pop -#define rb_ary_last p->config->ary_last #define rb_ary_unshift p->config->ary_unshift -#undef rb_ary_new2 -#define rb_ary_new2 p->config->ary_new2 -#define rb_ary_entry p->config->ary_entry -#define rb_ary_join p->config->ary_join -#define rb_ary_reverse p->config->ary_reverse -#define rb_ary_clear p->config->ary_clear -#define rb_ary_modify p->config->ary_modify -#undef RARRAY_LEN -#define RARRAY_LEN p->config->array_len -#define RARRAY_AREF p->config->array_aref -#undef rb_sym_intern_ascii_cstr -#define rb_sym_intern_ascii_cstr p->config->sym_intern_ascii_cstr #define rb_make_temporary_id p->config->make_temporary_id #define is_local_id p->config->is_local_id #define is_attrset_id p->config->is_attrset_id @@ -167,68 +102,36 @@ struct rb_imemo_tmpbuf_struct { #define rb_intern_str p->config->intern_str #define is_notop_id p->config->is_notop_id #define rb_enc_symname_type p->config->enc_symname_type -#define rb_str_intern p->config->str_intern #define rb_id2name p->config->id2name #define rb_id2str p->config->id2str -#define rb_id2sym p->config->id2sym #undef ID2SYM #define ID2SYM p->config->id2sym -#undef SYM2ID -#define SYM2ID p->config->sym2id #define rb_str_catf p->config->str_catf #undef rb_str_cat_cstr #define rb_str_cat_cstr p->config->str_cat_cstr -#define rb_str_subseq p->config->str_subseq -#define rb_str_dup p->config->str_dup -#define rb_str_new_frozen p->config->str_new_frozen -#define rb_str_buf_new p->config->str_buf_new -#undef rb_str_buf_cat -#define rb_str_buf_cat p->config->str_buf_cat -#define rb_str_modify p->config->str_modify -#define rb_str_set_len p->config->str_set_len -#define rb_str_cat p->config->str_cat #define rb_str_resize p->config->str_resize #undef rb_str_new #define rb_str_new p->config->str_new #undef rb_str_new_cstr #define rb_str_new_cstr p->config->str_new_cstr -#define rb_fstring p->config->fstring -#define is_ascii_string p->config->is_ascii_string +#define rb_str_to_interned_str p->config->str_to_interned_str #define rb_enc_str_new p->config->enc_str_new -#define rb_enc_str_buf_cat p->config->enc_str_buf_cat -#define rb_str_buf_append p->config->str_buf_append #define rb_str_vcatf p->config->str_vcatf -#undef StringValueCStr -#define StringValueCStr(v) p->config->string_value_cstr(&(v)) #define rb_sprintf p->config->rb_sprintf #undef RSTRING_PTR #define RSTRING_PTR p->config->rstring_ptr -#undef RSTRING_END -#define RSTRING_END p->config->rstring_end #undef RSTRING_LEN #define RSTRING_LEN p->config->rstring_len -#define rb_filesystem_str_new_cstr p->config->filesystem_str_new_cstr -#define rb_obj_as_string p->config->obj_as_string -#define rb_hash_clear p->config->hash_clear -#define rb_hash_new p->config->hash_new -#define rb_hash_aset p->config->hash_aset -#define rb_hash_lookup p->config->hash_lookup -#define rb_ident_hash_new p->config->ident_hash_new - -#undef NUM2INT -#define NUM2INT p->config->num2int #undef INT2NUM #define INT2NUM p->config->int2num #define rb_stderr_tty_p p->config->stderr_tty_p #define rb_write_error_str p->config->write_error_str -#define rb_default_rs p->config->default_rs() #define rb_io_write p->config->io_write #define rb_io_flush p->config->io_flush #define rb_io_puts p->config->io_puts -#define rb_io_gets_internal p->config->io_gets_internal #define rb_ractor_stdout p->config->debug_output_stdout #define rb_ractor_stderr p->config->debug_output_stderr @@ -237,55 +140,34 @@ struct rb_imemo_tmpbuf_struct { #define rb_enc_isalnum p->config->enc_isalnum #define rb_enc_precise_mbclen p->config->enc_precise_mbclen #define MBCLEN_CHARFOUND_P p->config->mbclen_charfound_p +#define MBCLEN_CHARFOUND_LEN p->config->mbclen_charfound_len #define rb_enc_name p->config->enc_name #define rb_enc_prev_char p->config->enc_prev_char #define rb_enc_get p->config->enc_get #define rb_enc_asciicompat p->config->enc_asciicompat #define rb_utf8_encoding p->config->utf8_encoding -#define rb_enc_associate p->config->enc_associate #define rb_ascii8bit_encoding p->config->ascii8bit_encoding #define rb_enc_codelen p->config->enc_codelen #define rb_enc_mbcput p->config->enc_mbcput -#define rb_char_to_option_kcode p->config->char_to_option_kcode -#define rb_ascii8bit_encindex p->config->ascii8bit_encindex #define rb_enc_find_index p->config->enc_find_index #define rb_enc_from_index p->config->enc_from_index -#define rb_enc_associate_index p->config->enc_associate_index #define rb_enc_isspace p->config->enc_isspace #define ENC_CODERANGE_7BIT p->config->enc_coderange_7bit #define ENC_CODERANGE_UNKNOWN p->config->enc_coderange_unknown -#define rb_enc_compatible p->config->enc_compatible -#define rb_enc_from_encoding p->config->enc_from_encoding -#define ENCODING_GET p->config->encoding_get -#define ENCODING_SET p->config->encoding_set -#define ENCODING_IS_ASCII8BIT p->config->encoding_is_ascii8bit -#define rb_usascii_encoding p->config->usascii_encoding - -#define rb_ractor_make_shareable p->config->ractor_make_shareable -#define ruby_vm_keep_script_lines p->config->vm_keep_script_lines() #define rb_local_defined p->config->local_defined #define rb_dvar_defined p->config->dvar_defined -#define literal_cmp p->config->literal_cmp -#define literal_hash p->config->literal_hash - #define rb_syntax_error_append p->config->syntax_error_append #define rb_raise p->config->raise #define syntax_error_new p->config->syntax_error_new #define rb_errinfo p->config->errinfo #define rb_set_errinfo p->config->set_errinfo -#define rb_exc_raise p->config->exc_raise #define rb_make_exception p->config->make_exception #define ruby_sized_xfree p->config->sized_xfree #define SIZED_REALLOC_N(v, T, m, n) ((v) = (T *)p->config->sized_realloc_n((void *)(v), (m), sizeof(T), (n))) -#undef RB_OBJ_WRITE -#define RB_OBJ_WRITE(old, slot, young) p->config->obj_write((VALUE)(old), (VALUE *)(slot), (VALUE)(young)) -#undef RB_OBJ_WRITTEN -#define RB_OBJ_WRITTEN(old, oldv, young) p->config->obj_written((VALUE)(old), (VALUE)(oldv), (VALUE)(young)) -#define rb_gc_register_mark_object p->config->gc_register_mark_object #undef RB_GC_GUARD #define RB_GC_GUARD p->config->gc_guard #define rb_gc_mark p->config->gc_mark @@ -310,36 +192,20 @@ struct rb_imemo_tmpbuf_struct { #define ruby_scan_digits p->config->scan_digits #define strtod p->config->strtod -#undef RBOOL -#define RBOOL p->config->rbool -#undef UNDEF_P -#define UNDEF_P p->config->undef_p #undef RTEST #define RTEST p->config->rtest #undef NIL_P #define NIL_P p->config->nil_p #undef Qnil #define Qnil p->config->qnil -#undef Qtrue -#define Qtrue p->config->qtrue #undef Qfalse #define Qfalse p->config->qfalse -#undef Qundef -#define Qundef p->config->qundef #define rb_eArgError p->config->eArgError() -#define rb_mRubyVMFrozenCore p->config->mRubyVMFrozenCore() #undef rb_long2int #define rb_long2int p->config->long2int -#undef SPECIAL_CONST_P -#define SPECIAL_CONST_P p->config->special_const_p -#undef BUILTIN_TYPE -#define BUILTIN_TYPE p->config->builtin_type -#define ruby_snprintf p->config->snprintf - -#define rb_node_case_when_optimizable_literal p->config->node_case_when_optimizable_literal - -#undef st_init_table_with_size -#define st_init_table_with_size rb_parser_st_init_table_with_size +#define rb_enc_mbminlen p->config->enc_mbminlen +#define rb_enc_isascii p->config->enc_isascii +#define rb_enc_mbc_to_codepoint p->config->enc_mbc_to_codepoint #define rb_ast_new() \ rb_ast_new(p->config) |
