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
-
- 23 Apr, 2017 1 commit
-
-
Nobuyoshi Nakada authored
`skips()` is `mrb_bool` function, should return `FALSE` at EOF, not `EOF`.
-
- 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 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
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 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
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
-
- 07 Mar, 2017 1 commit
-
-
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 6 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 24 Feb, 2017 1 commit
-
-
Tomoyuki Sahara 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
-
- 21 Jan, 2017 1 commit
-
-
Clayton Smith authored
-