ruby/internal
Koichi Sasada 0a82bfe5e1
use correct svar (#7225)
* use correct svar

Without this patch, svar location is used "nearest Ruby frame".
It is almost correct but it doesn't correct when the `each` method
is written in Ruby.

```ruby
class C
  include Enumerable
  def each
    %w(bar baz).each{|e| yield e}
  end
end

C.new.grep(/(b.)/){|e| p [$1, e]}
```

This patch fix this issue by traversing ifunc's cfp.

Note that if cfp doesn't specify this Thread's cfp stack, reserved
svar location (`ec->root_svar`) is used.

* make yjit-bindgen

---------

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2023-02-01 16:13:19 -08:00
..
2022-12-17 14:51:49 -08:00
2023-01-18 08:49:32 -05:00
2022-12-02 01:31:27 +09:00
2023-01-31 15:48:09 -05:00
2023-02-01 16:13:19 -08:00
2023-01-18 08:49:32 -05:00
2023-01-18 08:49:32 -05:00
2023-01-18 08:49:32 -05:00
2023-01-31 09:24:26 -05:00