summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-02-16Merge branch 'master' into android.rake-ndk-clangFelix Jones
2017-02-15Move #instance_exec to Kernel moduleYukihiro "Matz" Matsumoto
CRuby defines #instance_exec in BasicObject, but we don't. It's a small incompatibility that isn't worth accomplish at the price of implementation complexity.
2017-02-15Move #__id__ to BasicObject; ref #3417Yukihiro "Matz" Matsumoto
2017-02-15Move #instance_eval to BasicObject; ref #3417Yukihiro "Matz" Matsumoto
2017-02-15Move #__send__ to BasicObject; ref #3417Yukihiro "Matz" Matsumoto
2017-02-15Move #== and #!= to BasicObject; ref #3417Yukihiro "Matz" Matsumoto
2017-02-15Move BasicObject#method_missing to Kernel#method_missing; ref #3417Yukihiro "Matz" Matsumoto
More compatibility to CRuby. Updated tests that assume old mruby behavior.
2017-02-15Prohibit too deep `mrb_funcall()` recursion; ref #3421Yukihiro "Matz" Matsumoto
`mrb_funcall()` recursion can cause stack overflow easily, so recursion depth is now limited to MRB_FUNCALL_DEPTH_MAX, which default value is 512.
2017-02-15Do not funcall() Exception#set_backtrace from runtime.Yukihiro "Matz" Matsumoto
This change reduce flexibility but makes mruby simpler and faster.
2017-02-15Preallocate SystemStackError; ref #3421Yukihiro "Matz" Matsumoto
2017-02-15Merge pull request #3455 from crimsonwoods/fix-android-build-scriptYukihiro "Matz" Matsumoto
Update android build script.
2017-02-15Avoid calling hook methods if they are not overridden.Yukihiro "Matz" Matsumoto
2017-02-15Use mrb_funcall_argv() instead of mrb_funcall()Yukihiro "Matz" Matsumoto
2017-02-15Add new two build config files.crimsonwoods
2017-02-15Modify default cflags.crimsonwoods
2017-02-15Add '-Wl,--fix-cortex-a8' linker option for 'armeabi-v7a' architecture.crimsonwoods
2017-02-15Set default linker 'flags' and 'flags_before_libraries'.crimsonwoods
2017-02-14Merge pull request #3453 from palkan/fix/test-gems-setupYukihiro "Matz" Matsumoto
Separate compilers setup from config setup
2017-02-13Separate compilers setup from config setuppalkan
Fixes #3418.
2017-02-14Do not use mrb_funcall() if Hash#default is not overridden; ref #3421Yukihiro "Matz" Matsumoto
This change reduces the recursion level, but does not solve the stack overflow issue entirely.
2017-02-14Extend mruby stack when keep is bigger than room; fix #3421Yukihiro "Matz" Matsumoto
But #3421 still cause stack overflow error due to infinite recursion. To prevent overflow, we need to add different stack depth check.
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-13Should handle `break` from funcall(); fix #3434Yukihiro "Matz" Matsumoto
This issue was reported by https://hackerone.com/d4nny
2017-02-13Fixed too much value_copy() when block is not given; fix #3440Yukihiro "Matz" Matsumoto
The issue was reported by https://hackerone.com/titanous
2017-02-12Merge pull request #3452 from dabroz/fix-kernel-caller-aspecYukihiro "Matz" Matsumoto
Fixed aspec for Kernel#caller
2017-02-12Fixed aspec for Kernel#callerTomasz Dabrowski
2017-02-11Merge pull request #3451 from dabroz/revert-string-mulYukihiro "Matz" Matsumoto
Revert "Optimization for String#* for 1-byte strings"
2017-02-11Avoid direct return from ecall(); fix #3441Yukihiro "Matz" Matsumoto
There's incompatibility left for mruby. When you return from `ensure` clause, mruby simply ignores the return value. CRuby returns from the method squashing the exception raised. ``` def f no_such_method() # NoMethodError ensure return 22 end p f() # CRuby prints `22` ```
2017-02-11Revert "Optimization for String#* for 1-byte strings"Tomasz Dabrowski
This reverts commit d1bc7caecaf337976351934d5910726106601bd9.
2017-02-11Avoid integer overflow in sprintf(); fix #3439Yukihiro "Matz" Matsumoto
This issue was reported by https://hackerone.com/aerodudrizzt
2017-02-11`ecall()` should preserve stack address referenced from ci[1].Yukihiro "Matz" Matsumoto
OP_RETURN accesses ci[1]->stackent that might be broken; fix #3442
2017-02-11Remove historical comment; ref #3450 #3448Yukihiro "Matz" Matsumoto
2017-02-11Merge pull request #3450 from r-obert/patch-1Yukihiro "Matz" Matsumoto
remove skip that shouldn't be necessary anymore.
2017-02-11remove skip that shouldn't be necessary anymore.robert
the test should pass after https://github.com/mruby/mruby/commit/8f4a929e1a01c8d6176fb53a9ef5dff6de632959.
2017-02-11String#replace should update s->flags for MRB_STR_NO_UTF.Yukihiro "Matz" Matsumoto
Otherwise String#size may return wrong length; fix #3448
2017-02-11Add type cast to pacify warningYukihiro "Matz" Matsumoto
2017-02-11Merge pull request #3449 from dabroz/fix-ljust-rubyYukihiro "Matz" Matsumoto
String#ljust and String#rjust reimplemented with optimized Ruby
2017-02-10Optimization for String#* for 1-byte stringsTomasz Dabrowski
2017-02-10String#ljust and String#rjust reimplemented with optimized RubyTomasz Dabrowski
2017-02-10Tests for UTF-8 String#ljust and String#rjustTomasz Dabrowski
2017-02-10Merge pull request #3446 from ksss/minirakeYukihiro "Matz" Matsumoto
Fix build error when trace mode
2017-02-10Merge pull request #3447 from dabroz/fix-ljustYukihiro "Matz" Matsumoto
String#ljust and String#rjust reimplementation (fix #3445)
2017-02-10String#ljust and String#rjust reimplementation (fix #3445)Tomasz Dabrowski
- String#ljust and String#rjust are now C functions to improve performance - infinite loop because of an empty padding argument is now prevented (ArgumentError is raised) - extra tests for ljust/rjust added
2017-02-10Fix build error when trace modeksss
Rakefile ``` file "a.txt" do system "echo hello > a.txt" end file "b.txt" => "a.txt" do system "cp a.txt b.txt" end task :default => "b.txt" ``` ``` $ touch b.txt $ ruby minirake --trace Invoke default (already=[], needed=[true]) rake aborted! No such file or directory @ rb_file_s_stat - a.txt minirake:241:in `stat' minirake:241:in `timestamp' minirake:233:in `block in needed?' minirake:233:in `collect' minirake:233:in `needed?' minirake:91:in `invoke' minirake:95:in `block in invoke' minirake:95:in `each' minirake:95:in `invoke' minirake:467:in `block in run' minirake:466:in `each' minirake:466:in `run' minirake:484:in `<main>' ```
2017-02-08Fixed mixture of signed/unsigned integersYukihiro "Matz" Matsumoto
in mrbgems/mruby-bin-debugger.
2017-02-08Check if irep is NULL before print_backtrace()Yukihiro "Matz" Matsumoto
According to the valgrind log attached to #3438, proc->body.irep may be NULL in some cases.
2017-02-08Add MRB_TT_PROC check to OP_SUPER as well; fix #3432Yukihiro "Matz" Matsumoto
2017-02-08Check if m->env is NULL before dereferencing it; fix #3436Yukihiro "Matz" Matsumoto
2017-02-08Mark classes referenced from saved backtrace.Yukihiro "Matz" Matsumoto
Maybe related to #3438
2017-02-08Fixed a bug in ci address shifting; fix #3423Yukihiro "Matz" Matsumoto
Dinko Galetic and Denis Kasak reported the issue and the fix. (via https://hackerone.com/dgaletic).