Actions
Bug #14809
closedcalc_lineno() returns wrong location
Description
r62051のコミット以降
$ cat -n t.rb
1 class String
2 def -@
3 p caller_locations(1, 1)[0]
4 end
5 end
6
7 -""
$ ruby-trunk t.rb
"t.rb:1:in `<main>'"
$ ruby-2.5 t.rb
"t.rb:7:in `<main>'"
のように、位置情報が正しく取れなくなるという問題が起きています。
インストラクションの種類によってPCが変更されるタイミングが異なるようになったことが原因です。
Updated by shyouhei (Shyouhei Urabe) over 6 years ago
I'll take care of it.
Updated by shyouhei (Shyouhei Urabe) over 6 years ago
- Related to Bug #14834: rb_profile_frames SEGV when PC adjusted on IFUNC added
Updated by shyouhei (Shyouhei Urabe) over 6 years ago
- Status changed from Assigned to Closed
Applied in changeset trunk|r63763.
give up insn attr handles_frame
I introduced this mechanism in r62051 to speed things up. Later it
was reported that the change causes problems. I searched for
workarounds but nothing seemed appropriate. I hereby officially
give it up. The idea to move ADD_PC around was a mistake.
Fixes [Bug #14809] and [Bug #14834].
Signed-off-by: Urabe, Shyouhei shyouhei@ruby-lang.org
Actions
Like0
Like0Like0Like0