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