summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2015-07-11Removing unndeeded to_sjbreeden
2015-07-11Patching array joinjbreeden
2015-07-07method_missing definition may be undefined; fix #2878Yukihiro "Matz" Matsumoto
2015-07-07Merge pull request #2877 from cremno/fix-dangling-ptrYukihiro "Matz" Matsumoto
Coverity: fix dangling pointer
2015-07-07Merge pull request #2876 from joans321/masterYukihiro "Matz" Matsumoto
fix androideabi cross-compile error : undefined reference to 'frexpl'
2015-07-06fix androideabi cross-compile error : undefined reference to 'frexpl'xuejianqing
2015-07-05Fix typo in comment in String#mrb_cstr_to_inum [skip ci]Anton Davydov
2015-07-03fix dangling pointercremno
CID 75872 (#3-2 of 3): Pointer to local outside scope (RETURN_LOCAL) 38. use_invalid: Using p, which points to an out-of-scope variable buf.
2015-07-03remove unnecessary default casecremno
2015-07-01Merge pull request #2869 from cremno/refactor-print.cYukihiro "Matz" Matsumoto
src/print.c: rewrite printstr() to get rid of code duplication
2015-06-29Avoid a narrowing cast in flo_round under MRB_INT64.Simon Génier
2015-06-29Fix a crash bug when GC is ran while creating a proc with envKouhei Sutou
mrb_proc_new_cfunc_with_env() allocates RProc with RProc::env as NULL then allocates REnv and sets it to RProc::env of the allocated RProc. If incremental GC is ran before "allocates REnv and sets it to RProc::env of the allocated RProc", the allocated RProc's GC status is "marked" (Black) and the allocated REnv's GC status is "unmarked" (White). The next incremental GC sweeps the allocated REnv without re-marking the allocated RProc. Because the RProc is Black and the REnv is White. We need to implement write barrier for the case. We can force to cause the above situation by the following patch: diff --git a/src/proc.c b/src/proc.c index f98998f..4f4e25c 100644 --- a/src/proc.c +++ b/src/proc.c @@ -92,6 +92,7 @@ mrb_proc_new_cfunc_with_env(mrb_state *mrb, mrb_func_t func, mrb_int argc, const struct REnv *e; int i; + mrb_incremental_gc(mrb); p->env = e = env_new(mrb, argc); MRB_ENV_UNSHARE_STACK(e); e->stack = (mrb_value*)mrb_malloc(mrb, sizeof(mrb_value) * argc); With this patch, "rake test" causes segmentation fault.
2015-06-24Remove unnecessary backticks.Franck Verrot
Dr Markus Kuhn published in 1999 an article [1] explaining in details why we shouldn't use the ASCII grave accent (0x60) as a left quotation. Backticks have been used most notably to produce nice-looking LaTeX documents but it doesn't seem to be an issue on modern platforms and for the oldest ones, there are workarounds as mentioned by Dr Kuhn. [1]: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
2015-06-23rewrite printstr() to get rid of code duplicationcremno
2015-06-22Merge branch 'master' of http://github.com/mruby/mruby into alloc_docJared Breeden
2015-06-22Fixes #912Jared Breeden
2015-06-23Merge pull request #2852 from jbreeden/mrb_string_value_cstr_patchYukihiro "Matz" Matsumoto
Mrb string value cstr patch
2015-06-23fix Proc#curry test failure; ref #2848Yukihiro "Matz" Matsumoto
2015-06-22*Correctly* removing extra mrb_str_to_str callJared Breeden
2015-06-22Reverting overzealous changesJared Breeden
2015-06-22Removing unneeded bad_checks for verified stringsJared Breeden
2015-06-22Removing redundant mrb_str_to_str callJared Breeden
2015-06-22Calling mrb_str_to_str in mrb_string_value_cstr. Fixes #2847Jared Breeden
2015-06-22fix arity of lambdas with optional argumentscremno
From the CRuby 2.2.2 Proc#arity documentation: If the block has optional arguments, returns -n-1, where n is the number of mandatory arguments, with the exception for blocks that are not lambdas and have only a finite number of optional arguments; in this latter case, returns n.
2015-06-19Merge pull request #2839 from yui-knk/fix/string_split_sampleYukihiro "Matz" Matsumoto
[ci skip] Remove some Srting#split samples
2015-06-19[ci skip] Remove some Srting#split samplesyui-knk
mruby not support regexp, so remove these samples.
2015-06-13refactor code to call mrb_inspect() insteadcremno
mrb_inspect() also calls mrb_obj_as_string() after #inspect to ensure the mrb_value is a string.
2015-06-06Fix build on MIPS of linuxNobuhiro Iwamatsu
MIPS of Linux platform is supported frexpl(3). This fixes to use the frexpl that are provided with gcc if user wants to build on MIPS of Linux platform. Signe-doff-by: Nobuhiro Iwamatsu <[email protected]>
2015-06-03Merge pull request #2823 from cremno/remove-unnecessary-mrb_immediate_pYukihiro "Matz" Matsumoto
remove unnecessary mrb_immediate_p()
2015-06-02remove unnecessary mrb_immediate_p()cremno
`!mrb_array_p(ary2)` and `mrb_type(obj) != MRB_TT_DATA` are sufficient.
2015-06-02directly call ary_new_capa()cremno
2015-06-01Compile mruby compiler as mrbgem.take_cheeze
Compiler codes is moved to "mruby-compiler". Executable `mrbc` is moved to "mruby-bin-mrbc".
2015-06-01Merge pull request #2819 from cremno/only-genop-non-lvar-gets-in-val-modeYukihiro "Matz" Matsumoto
only generate gets of non-local vars in VAL mode
2015-06-01Merge pull request #2820 from cremno/add-too-big-array-size-checksYukihiro "Matz" Matsumoto
fix two potential cases of signed integer overflow
2015-06-01singleton_class should not be duped; fix #2815Yukihiro "Matz" Matsumoto
2015-06-01only generate gets of non-local vars in VAL modecremno
This fixes a crash for code like "#{@a;1}". Unlike CRuby globals are excluded too since mruby doesn't implement hooking.
2015-06-01fix two potential cases of signed integer overflowcremno
2015-06-01singleton_class should not be cloned; close #2815Yukihiro "Matz" Matsumoto
2015-05-31fix masgn nosplat array rhs bugcremno
The rest lhs variable has to be an empty array if rhs is an array with less elements than pre + post lhs variables. The codegen generated OP_ARRAY with an invalid length (such as 127 for *a, b = []) because rn was negative.
2015-05-31fix OP_APOST bug for no pre arg cases; fix #2810Yukihiro "Matz" Matsumoto
2015-05-31Merge pull request #2811 from cremno/check-if-outer-is-a-class-or-moduleYukihiro "Matz" Matsumoto
check if outer is a class or module
2015-05-29check if outer is a class or modulecremno
For modules this check didn't exist yet. Also call #inspect.
2015-05-29remove unreachable codecremno
It's just a copy of the code in the previous case (NODE_CALL).
2015-05-29Merge pull request #2807 from cremno/fix-capture-group-index-parsing-ub-bugYukihiro "Matz" Matsumoto
fix capture group index bug
2015-05-28fix capture group index bugcremno
atoi() is used to convert the index to an int but the behavior is undefined if the value can't be represented. > $9999999999 00007 NODE_SCOPE: 00007 NODE_BEGIN: 00007 NODE_NTH_REF: $2147483647 irep 00630580 nregs=2 nlocals=1 pools=0 syms=1 reps=0 file: (mirb) 7 000 OP_GETGLOBAL R1 :$2147483647 7 001 OP_STOP Call strtoul() instead as its behavior in such cases is defined and add a simple range check. Alternatively NODE_NTH_REF's cdr could be changed from int to mrb_sym (like NODE_GVAR).
2015-05-28remove unnecessary including of <ctype.h>cremno
Not needed anymore since 85075bef7583edd0a48cfbdfaa632cbdacf78f2c
2015-05-25Move "src/mrb_throw.h" to "include/mruby/throw.h".take_cheeze
Related to #2760.
2015-05-24Merge pull request #2802 from take-cheeze/move_codedumpYukihiro "Matz" Matsumoto
Move `mrb_codedump_all` to "src/codedump.c".
2015-05-23Add null check on lex_strterm in heredoc blockCarson McDonald
2015-05-23Move `mrb_codedump_all` to "src/codedump.c".take_cheeze
Related to #2760.