Commit Graph

2828 Commits

Author SHA1 Message Date
Hiroyuki Matsuzaki e77ea4e5f2 fixed. cygwin-gcc(ver4.8.3) warning in conv_digit() 2014-10-02 19:50:58 +09:00
Yukihiro "Matz" Matsumoto 83992ee163 cast MRB_ENV_STACK_LEN to (mrb_int); ref #2600 2014-10-02 17:59:01 +09:00
Hiroshi Mimaki ed15477c74 Pacify MSVC warnings for numeric.c, proc.c, and symbol.c 2014-10-02 13:37:49 +09:00
Yukihiro "Matz" Matsumoto ae1403004b load.c to use mrb_ro_data_p() 2014-10-01 00:01:36 +09:00
Yukihiro "Matz" Matsumoto b72e94fa6b mrbconf.h option MRB_USE_ETEXT_EDATA to reduce memory.
on platforms with _etext and _edata, mruby can distinguish string literals so that it avoids memory allocation to copy them.
for example, on my Linux box (x86 32bit), memory consumed by mrbtest decreased from 8,168,203 to 8,078,848 (reduced 88KB).
2014-09-30 23:48:57 +09:00
Yukihiro "Matz" Matsumoto bbf24b8463 mrb_sym2name_len() should initialize lenp even when proper symbol does not exist 2014-09-30 22:46:19 +09:00
Yukihiro "Matz" Matsumoto 7a7dcd12e5 remove unnecessary trailing comma to remove pre C99 declaration error with -Wdeclaration-after-statement 2014-09-30 22:40:55 +09:00
Yukihiro "Matz" Matsumoto 4a55b42984 O(1) mrb_sym2name_len(); close #2591
instead of adding sym->name hash table, linear symbol table is added, and reduced name->sym hash table size.
2014-09-30 20:15:27 +09:00
take_cheeze 524c9152d3 Fix mrb_get_args arguments types found by mruby-clang-plugin. 2014-09-21 22:43:13 +09:00
Yukihiro "Matz" Matsumoto 5f7b0580b7 code reduce by using mrb_get_args("n") 2014-09-19 03:03:53 +09:00
Yukihiro "Matz" Matsumoto 147fbf1c12 Module#const_defined? to take second optional argument as CRuby; fix #2593 2014-09-19 03:02:07 +09:00
Yukihiro "Matz" Matsumoto 95c7f570e1 change class argument of mrb_const_defined_at from struct RClass* to mrb_value to make it consistent with mrb_const_defined; ref #2593 2014-09-19 02:51:52 +09:00
Yukihiro "Matz" Matsumoto 6b34166ba5 const_defined? to check superclasses; ref #2593 2014-09-19 02:41:20 +09:00
Yukihiro "Matz" Matsumoto 6057b2e378 change mrb_sym type from uint16_t to uint32_t 2014-09-15 01:48:08 +09:00
Yukihiro "Matz" Matsumoto 48c5321dca constify pointer from RARRAY_PTR to detect potential write barrier bugs.
if you see compiler errors due to this commit, you'd better to use array-modifying
functions, e.g. mrb_ary_set() or mrb_ary_push(), otherwise you might see nasty
GC bugs in the future.  if you are sure what you are doing, replace `RARRAY_PTR(ary)`
by `mrb_ary_ptr(ary)->ptr`. but be warned.
2014-09-12 12:42:39 +09:00
Tatsuhiko Kubo cfb321e877 Add inline to str_with_class(). 2014-09-09 00:44:49 +09:00
Yukihiro "Matz" Matsumoto 89e9df2681 fixed wandering filename problem 2014-09-08 01:20:43 +09:00
Yukihiro "Matz" Matsumoto 3f70edbd16 support native byteorder in mrb files; ref 3492be 2014-09-05 11:09:44 +09:00
Yukihiro "Matz" Matsumoto 5b235a8bfa condition refactoring in load.c 2014-09-05 10:55:09 +09:00
Yukihiro "Matz" Matsumoto 81c894a1c6 add some MRB_API to function prototypes 2014-09-05 00:54:51 +09:00
Yukihiro "Matz" Matsumoto 9b4ec380d2 use uint16_t instead of short; ref #2568 2014-09-05 00:47:22 +09:00
cremno 610d1d4afa fix strict aliasing rule violation 2014-09-04 12:34:37 +02:00
Yukihiro "Matz" Matsumoto 6b302d80a3 instance variable name validation based on <ctype.h>; fix #2584 2014-09-04 18:36:28 +09:00
Yukihiro "Matz" Matsumoto 32aee72d29 wrong iseq conversion flag 2014-09-04 18:28:56 +09:00
Yukihiro "Matz" Matsumoto 3492be401a avoid iseq allocation from static irep binary. it reduces 424KB allocation for mrbtest 2014-09-04 17:16:34 +09:00
Yukihiro "Matz" Matsumoto dc3c91dfdc rename a local variable current_node -> nodetype; ref #2583 2014-09-04 08:33:18 +09:00
cremno 26bbc81e12 get rid of shadowing variables
Mostly by renaming the shadowing variable.
If a shadowing variable was deleted,
the shadowed one can be used instead.
2014-09-03 10:00:37 +02:00
Yukihiro "Matz" Matsumoto 1fdf47d71a Merge pull request #2582 from iij/pr-attr-accessor-save-arena
save and restore arena index to prevent arena overflow.
2014-09-03 11:02:52 +09:00
Tomoyuki Sahara 2fd49b2b9f save and restore arena index to prevent arena overflow. 2014-09-03 10:44:38 +09:00
Tatsuhiko Kubo b9acd20aef Use mrb_str_cat_lit() instead of mrb_str_cat_cstr() for string-literals. 2014-09-03 01:43:46 +09:00
Jun Hiroe f7a7426d7e Refactor mrb_obj_is_kind_of_m() in kernel.c 2014-09-02 19:40:29 +09:00
Jun Hiroe 3e40cc6974 Refactor obj_is_instance_of() in kernel.c 2014-09-02 19:40:23 +09:00
Yukihiro "Matz" Matsumoto 90ba47ccfe implement attr_reader and attr_writer in C; use cfunc closure to speed-up 2014-09-02 16:41:38 +09:00
Yukihiro "Matz" Matsumoto 6c7b0d88e8 refactor valid instance variable name check 2014-09-02 16:37:40 +09:00
Yukihiro "Matz" Matsumoto 471c43ff96 move mrb_proc_new_cfunc_with_env() to the core 2014-09-02 13:03:32 +09:00
Yukihiro "Matz" Matsumoto 7ac68809d3 remove ci->nreg initialization from cipush() 2014-09-01 15:38:25 +09:00
Yukihiro "Matz" Matsumoto 296b0571be remove unnecessary MRB_API from mrb_num_div(); close #2578 2014-08-30 16:15:31 +09:00
cremno c219c2a15e use RITE_LV_NULL_MARK for better readability
The comment didn't say why the length is reserved.
Using RITE_LV_NULL_MARK makes things a bit clearer.
2014-08-29 15:53:52 +02:00
cremno 0e28f4b973 add sym_validate_len() to validate symbol length
This also fixes an off-by-one in mrb_check_intern().
2014-08-29 15:53:51 +02:00
Yukihiro "Matz" Matsumoto 607795ffdd more OP_MOVE swap detection in peephole optimization 2014-08-29 16:24:12 +09:00
Yukihiro "Matz" Matsumoto 3c4cd5428a allow no_optimize esp. for debugger 2014-08-29 15:09:14 +09:00
Tatsuhiko Kubo 6b8e06a5b9 Remove unused macro.
OutOfRange() is no longer used.
2014-08-29 02:22:55 +09:00
Yukihiro "Matz" Matsumoto a3c34c165b Merge pull request #2572 from cubicdaiya/issues/fprintf_error_handlings
Fix error handlings for fprintf() and fputs() to file.
2014-08-29 01:10:44 +09:00
Yukihiro "Matz" Matsumoto 9e4b012478 Merge pull request #2570 from cubicdaiya/issues/unify_duplicated_functions
Unify and rename duplicated functions (noregexp() and regexp_check()).
2014-08-29 01:09:33 +09:00
Tatsuhiko Kubo 5fa30aeaea Fix mismatches for MRB_API declarations. 2014-08-29 01:06:22 +09:00
Yukihiro "Matz" Matsumoto abd7cad4fd adjust node lineno of muiti line statements 2014-08-29 01:06:22 +09:00
Yukihiro "Matz" Matsumoto 4b546e2ca4 print lineno of dumping node 2014-08-29 01:06:22 +09:00
Yukihiro "Matz" Matsumoto 7477d0c18c revert 6c1dfc9; ref #2525 #2565 2014-08-29 01:06:22 +09:00
Tatsuhiko Kubo db29a25ada Rename functions for avoinding symbol confiliction.
Add prefix(mrb) to noregexp() and regexp_check().
2014-08-28 19:18:52 +09:00
Tatsuhiko Kubo d958aa2cb1 Unify duplicated functions (noregexp() and regexp_check()). 2014-08-28 19:13:57 +09:00