summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
AgeCommit message (Collapse)Author
2017-02-13Fixed codegen error of redo in rescue; fix #3422Yukihiro "Matz" Matsumoto
The issue (and the fix) was reported by https://hackerone.com/dgaletic
2017-02-06Check maximum number of formal arguments.Yukihiro "Matz" Matsumoto
http://hkdnet.hatenablog.com/entry/2017/02/06/080000 (Japanese)
2017-02-04Jump address should fit in 16 bits range; fix #3426Yukihiro "Matz" Matsumoto
2017-01-23Fix a double free problem in codegen.c; fix #3378Yukihiro "Matz" Matsumoto
This issue was first reported by https://hackerone.com/geeknik The fix was proposed by @titanous
2017-01-23Fix memory leak; ref #3378Yukihiro "Matz" Matsumoto
The fix was proposed by @titanous
2017-01-20Remove problematic optimization.Clayton Smith
2016-12-18NODE_NEGATE cdr may not be code-node; fix #3348 ref #3324Yukihiro "Matz" Matsumoto
Reported by Denis Kasak https://hackerone.com/dkasak
2016-12-13Fixed wrong condition in new_sym() that breaks symbol data.Yukihiro "Matz" Matsumoto
2016-12-13Failed to realloc irep->syms in certain condition.Yukihiro "Matz" Matsumoto
Also msym size changed to 512 from 256.
2016-12-10Merge pull request #3324 from bouk/mruby/bouk-negateYukihiro "Matz" Matsumoto
Don't generate code for NODE_NEGATE if the result isn't used Reported by https://hackerone.com/haquaman
2016-12-09Fix segfault in gen_values with NOVAL and more than 127 argsBouke van der Bijl
2016-12-08Fix segfault when undef is called with exactly 127 argumentsBouke van der Bijl
The issue is that when there are more than 126 arguments an array needs to be created to pass the arguments on with. Reported by https://hackerone.com/revskills
2016-12-07Don't generate code for NODE_NEGATE if the result isn't usedBouke van der Bijl
Reported by https://hackerone.com/haquaman
2016-12-03Import locale insensitive strtod() from Ruby1.8; fix #3270Yukihiro "Matz" Matsumoto
The function was renamed to `mrb_float_read(const char*, char**)`.
2016-12-03codegen: avoid unnecessary OP_MOVE after CASEYukihiro "Matz" Matsumoto
2016-12-01Fix segfault when using result of rest assignmentBouke van der Bijl
Reported by https://hackerone.com/haquaman
2016-11-25resolve conflict; ref #3279Yukihiro "Matz" Matsumoto
2016-11-25resolve conflict; ref #3283Yukihiro "Matz" Matsumoto
2016-11-25resolve conflict; ref #3285Yukihiro "Matz" Matsumoto
2016-11-25resolve conflict; ref #3286Yukihiro "Matz" Matsumoto
2016-11-24Fix unsafe peephole optimizationFrancis Bogsanyi
Reported by https://hackerone.com/dkasak
2016-11-24Fix segfault caused by empty condition in ternaryBouke van der Bijl
Reported by https://hackerone.com/jpenalbae
2016-11-24Fix codegen issue causing misaligned registerBouke van der Bijl
Reported by https://hackerone.com/haquaman
2016-11-24Fix segfault on method call with exactly 127 argumentsBouke van der Bijl
Reported by https://hackerone.com/dkasak
2016-11-24Fix nested empty heredoc causing segfaultBouke van der Bijl
As reported by https://hackerone.com/jpenalbae
2016-11-24redo should work well in for statement; fix #3275Yukihiro "Matz" Matsumoto
2016-11-24Add forgotten loop_pop() in NODE_OP_ASGN codegenYukihiro "Matz" Matsumoto
2016-11-23codegen_scope should not keep old iseq ptr from irepYukihiro "Matz" Matsumoto
2016-11-11fixed a bug when number of LHS and RHS differs; fix #3239Yukihiro "Matz" Matsumoto
2016-11-08fixed a bug with [] in RHS of multiple assignments; fix #3236Yukihiro "Matz" Matsumoto
2016-09-26Fix unexpected behavior with breakksss
``` def yie yield end def bre yie { 1+1 break } end p bre #=> display 2, but should be nil ```
2016-07-25OP_ASGN vsp may be negativeYukihiro "Matz" Matsumoto
reported by https://gist.github.com/miura1729/53fbd8af889c289a79108e38635b2378 fix proposed by @miura1729 in https://github.com/miura1729/mruby/commit/b1b7933f7aa950cfb747b06327a0d0340f3e4ff8
2016-06-10fix a compiler warning for uninitialized variableYukihiro "Matz" Matsumoto
2016-05-16fixed remaining bugs in OP_ASGN stack adjustment; close #3159Yukihiro "Matz" Matsumoto
2016-05-16stack adjustment after NODE_OP_ASGN with NODE_CALL was wrong; fix #3159Yukihiro "Matz" Matsumoto
2016-05-09raise the error at runtime; fix #3152cremno
2016-04-01fix too much optimization for `||=`Yukihiro "Matz" Matsumoto
2016-03-30fix duplicated eval in op_asgnYukihiro "Matz" Matsumoto
`a` in `a.m += c` or `a[b] += c` should be evaluated only once.
2016-03-30reduce OP_ARRAY in argument splatYukihiro "Matz" Matsumoto
2016-03-24better code generation for `||=`; #3138Yukihiro "Matz" Matsumoto
2016-03-23add safe-navigation (aka lonely) operator `&.`Yukihiro "Matz" Matsumoto
2016-03-21rescue NameError from class variable access like `@@foo ||= 42`; fix #3138Yukihiro "Matz" Matsumoto
2016-02-22too many register push for else-less condtions; fix #3117Yukihiro "Matz" Matsumoto
2016-02-17peephole optimization for LOADNIL before STRCAT; ref #3110Yukihiro "Matz" Matsumoto
2016-02-17push value for NULL AST when value is required; fix #3110Yukihiro "Matz" Matsumoto
2015-11-27include changed from by quotes ("") to by brackets (<>); close #3032Yukihiro "Matz" Matsumoto
2015-11-19Fix typo on MRB_DISABLE_STDIO.Simon Génier
2015-11-17DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014Yukihiro "Matz" Matsumoto
changes: * rename DISABLE_STDIO -> MRB_DISABLE_STDIO * rename ENABLE_DEBUG -> MRB_ENABLE_DEBUG_HOOK * no more opposite macro definitions (e.g. ENABLE_STDIO, DISABLE_DEBUG). * rewrite above macro references throughout the code. * update documents
2015-10-01optimize if statement with constant conditionYukihiro "Matz" Matsumoto
2015-09-26support Regexp literal option: //n and //utakahashim