| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2015-06-29 | Fix a crash bug when GC is ran while creating a proc with env | Kouhei 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-23 | fix Proc#curry test failure; ref #2848 | Yukihiro "Matz" Matsumoto | |
| 2015-06-22 | fix arity of lambdas with optional arguments | cremno | |
| 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-05-22 | Verify that proc_lambda is passed a proc | Carson McDonald | |
| 2014-10-02 | cast MRB_ENV_STACK_LEN to (mrb_int); ref #2600 | Yukihiro "Matz" Matsumoto | |
| 2014-10-02 | Pacify MSVC warnings for numeric.c, proc.c, and symbol.c | Hiroshi Mimaki | |
| 2014-09-02 | move mrb_proc_new_cfunc_with_env() to the core | Yukihiro "Matz" Matsumoto | |
| 2014-08-29 | Fix mismatches for MRB_API declarations. | Tatsuhiko Kubo | |
| 2014-08-29 | revert 6c1dfc9; ref #2525 #2565 | Yukihiro "Matz" Matsumoto | |
| 2014-08-13 | need to add space for receiver to proc env; fix #2525 | Yukihiro "Matz" Matsumoto | |
| 2014-08-04 | add MRB_API modifiers to mruby API functions | Yukihiro "Matz" Matsumoto | |
| 2014-07-13 | use C style comments instead of C++ style comments | Tatsuhiko Kubo | |
| 2014-06-25 | Proc#arity return 0 when opcode was not OP_ENTER | ksss | |
| 2014-06-15 | arity for cfunc is not implemented yet | ksss | |
| 2014-06-15 | Proc class define before a first method | ksss | |
| mrb_define_method setting mrb->proc_class for method proc | |||
| 2014-05-17 | Delete unnecessary semicolon | Jun Hiroe | |
| 2014-05-14 | mv opcode.h -> include/mruby/opcode.h and remove duplication from mruby-eval gem | Yukihiro "Matz" Matsumoto | |
| 2014-04-30 | adjust indent | Nobuyoshi Nakada | |
| 2014-04-29 | make cioff in struct REnv from int to ptrdiff_t; close #2149 | Yukihiro "Matz" Matsumoto | |
| 2014-04-15 | resolve conflict | Yukihiro "Matz" Matsumoto | |
| 2014-04-01 | Use MRB_ENV_STACK_LEN instead of accessing `flags` directly to get REnv's ↵ | take_cheeze | |
| stack length. | |||
| 2014-03-26 | Merge pull request #1948 from monaka/pr-remove-unused-null-check | Yukihiro "Matz" Matsumoto | |
| Remove redundant NULL checks. | |||
| 2014-03-26 | Remove redundant NULL checks. | Masaki Muranaka | |
| mrb_malloc causes an exception when memory was empty. | |||
| 2014-03-25 | REnv uses obj->c as env link; no super | Yukihiro "Matz" Matsumoto | |
| 2014-01-06 | adjust proc->target_class according to surrounding proc->target_class; based ↵ | Yukihiro "Matz" Matsumoto | |
| on a patch from @Fleurer; close #1627 | |||
| 2013-12-01 | add mrb_intern_lit for creating symbol from string literal | take_cheeze | |
| 2013-11-29 | rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513 | Yukihiro "Matz" Matsumoto | |
| 2013-11-08 | allow irep to be GCed | Yukihiro "Matz" Matsumoto | |
| 2013-11-07 | call_iseq will never be NULL | Yukihiro "Matz" Matsumoto | |
| 2013-11-07 | modified to use irep->reps to reference child ireps. preparation for | Yukihiro "Matz" Matsumoto | |
| removing irep array from mrb_state. note that instructions OP_LAMBDA, OP_EXEC and OP_EPUSH are incompatible, and dumped mrb format has changed. | |||
| 2013-07-12 | Replace mrb_intern() func with mrb_intern2() func or mrb_intern_cstr() func. | Jun Hiroe | |
| 2013-06-15 | Merge upstream | Daniel Bovensiepen | |
| 2013-06-17 | Add ISO Number to Proc | Daniel Bovensiepen | |
| 2013-05-20 | primary mruby fiber implementation | Yukihiro "Matz" Matsumoto | |
| 2013-04-25 | aspec bits should be packed in Ax; ref #1209 | Yukihiro "Matz" Matsumoto | |
| 2013-04-25 | rename every ARGS_XXX to MRB_ARGS_XXX; ref #1206 | Yukihiro "Matz" Matsumoto | |
| 2013-04-25 | rename MRB_ARGS_XXX to MRB_ASPEC_XXX; ref #1206 | Yukihiro "Matz" Matsumoto | |
| 2013-04-25 | rename ARGS_GETXXX macros to avoid potential name conflict; close #1206 | Yukihiro "Matz" Matsumoto | |
| 2013-04-16 | Add Proc#arity | h2so5 | |
| 2013-03-29 | Sort include files. Some redundant includes are removed. | Masaki Muranaka | |
| 2012-12-10 | remove return at the bottom of void function | Yukihiro Matz Matsumoto | |
| 2012-12-10 | Merge pull request #611 from tricknotes/stop-warning-of-proc | Yukihiro "Matz" Matsumoto | |
| Stop warning in compiling proc.c | |||
| 2012-12-10 | add inline declaration | Yukihiro Matz Matsumoto | |
| 2012-12-10 | Stop warning in compiling proc.c | Ryunosuke SATO | |
| proc.c:46: warning: ‘return’ with a value, in function returning void introduced in f312af11. | |||
| 2012-12-10 | new function mrb_closure_new_cfunc(); close #609 | Yukihiro Matz Matsumoto | |
| 2012-10-25 | Use substitution instead of memset in structure initialization. | Masaki Muranaka | |
| 2012-10-17 | no memory copy for call_iseq | Yukihiro Matsumoto | |
| 2012-09-03 | remove memleaks using linked allocator | Yukihiro Matsumoto | |
| 2012-08-29 | remove flags from irep | Yukihiro Matsumoto | |
| 2012-08-04 | super look-up scheme fixed; close #415 | Yukihiro Matsumoto | |
