An error occurred fetching the project authors.
- 29 May, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 25 May, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 12 May, 2017 1 commit
-
-
Clayton Smith authored
-
- 25 Apr, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
ref #3492 #3515 #3517
-
- 22 Apr, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 18 Apr, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
So that `yield expr_with_error` will cause the error from the argument rather than `LocalJumpError` when no block is given.
-
- 12 Apr, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 10 Apr, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 03 Apr, 2017 5 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 01 Apr, 2017 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 22 Mar, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 20 Mar, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 19 Mar, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
916b8e let code executed with mrb->exc set, and may cause a crash like #3519. Instead modified OP_RESCUE again. To retrieve the exception object, we use `OP_RESCUE R(A), 0, 0` (old behavior). To compare the exception object and the class, we use `OP_RESCUE R(A), R(B), 1`. The reason we use OP_RESCUE for two instruction switched by operand C is to save the instruction space. As a result, the following code: ```ruby begin raise "a" rescue TypeError p 1 rescue RuntimeError p 2 end ``` will be compiled as: ``` irep 0x55cd1f565cb0 nregs=4 nlocals=1 pools=1 syms=4 reps=0 file: - 2 000 OP_ONERR 005 2 001 OP_LOADSELF R1 2 002 OP_STRING R2 L(0) ; "a" 2 003 OP_SEND R1 :raise 1 2 004 OP_JMP 023 2 005 OP_RESCUE R1 3 006 OP_GETCONST R2 :TypeError 3 007 OP_RESCUE R1 R2 cont 3 008 OP_JMPIF R2 010 3 009 OP_JMP 014 4 010 OP_LOADSELF R1 4 011 OP_LOADI R2 1 4 012 OP_SEND R1 :p 1 4 013 OP_JMP 024 5 014 OP_GETCONST R2 :RuntimeError 5 015 OP_RESCUE R1 R2 cont 5 016 OP_JMPIF R2 018 5 017 OP_JMP 022 6 018 OP_LOADSELF R1 6 019 OP_LOADI R2 2 6 020 OP_SEND R1 :p 1 6 021 OP_JMP 024 6 022 OP_RAISE R1 6 023 OP_POPERR 1 6 024 OP_STOP ```
-
- 11 Mar, 2017 3 commits
-
-
Yukihiro "Matz" Matsumoto authored
The old OP_RESCUE took one operand A, which specifies a class to match with the exception. The new OP_RESCUE takes tree operands: A: the register to hold exception B: the matching exception; the match result will be stored here. C: the continuation; if C is zero, the exception will be stored to R(A) otherwise, the value from R(A) is used as a exception. Thus, ```ruby begin raise "a" rescue TypeError p 1 rescue RuntimeError p 2 end ``` will be compiled as ``` irep 0x557a06667aa0 nregs=4 nlocals=1 pools=1 syms=4 reps=0 file: /tmp/e.rb 2 000 OP_ONERR 005 2 001 OP_LOADSELF R1 2 002 OP_STRING R2 L(0) ; "a" 2 003 OP_SEND R1 :raise 1 2 004 OP_JMP 022 3 005 OP_GETCONST R2 :TypeError 3 006 OP_RESCUE R1 R2 3 007 OP_JMPIF R2 009 3 008 OP_JMP 013 4 009 OP_LOADSELF R1 4 010 OP_LOADI R2 1 4 011 OP_SEND R1 :p 1 4 012 OP_JMP 023 5 013 OP_GETCONST R2 :RuntimeError 5 014 OP_RESCUE R1 R2 cont 5 015 OP_JMPIF R2 017 5 016 OP_JMP 021 6 017 OP_LOADSELF R1 6 018 OP_LOADI R2 2 6 019 OP_SEND R1 :p 1 6 020 OP_JMP 023 6 021 OP_RAISE R1 6 022 OP_POPERR 1 6 023 OP_STOP ``` The new VM can accept old OP_RESCUE. The mruby compatible VM (namely mruby/c) should be updated to support the new OP_RESCUE behavior.
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 02 Mar, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 01 Mar, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 28 Feb, 2017 3 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 13 Feb, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
The issue (and the fix) was reported by https://hackerone.com/dgaletic
-
- 06 Feb, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
http://hkdnet.hatenablog.com/entry/2017/02/06/080000 (Japanese)
-
- 04 Feb, 2017 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 23 Jan, 2017 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
This issue was first reported by https://hackerone.com/geeknik The fix was proposed by @titanous
-
Yukihiro "Matz" Matsumoto authored
The fix was proposed by @titanous
-
- 20 Jan, 2017 1 commit
-
-
Clayton Smith authored
-
- 17 Dec, 2016 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
Reported by Denis Kasak https://hackerone.com/dkasak
-
- 12 Dec, 2016 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Also msym size changed to 512 from 256.
-
- 09 Dec, 2016 1 commit
-
-
Bouke van der Bijl authored
-
- 08 Dec, 2016 1 commit
-
-
Bouke van der Bijl authored
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
-
- 07 Dec, 2016 1 commit
-
-
Bouke van der Bijl authored
Reported by https://hackerone.com/haquaman
-
- 03 Dec, 2016 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
The function was renamed to `mrb_float_read(const char*, char**)`.
-
Yukihiro "Matz" Matsumoto authored
-