From: shyouhei@...
Date: 2018-06-04T03:22:34+00:00
Subject: [ruby-dev:50561] [Ruby trunk Bug#14809] calc_lineno() returns wrong	location

Issue #14809 has been updated by shyouhei (Shyouhei Urabe).


I'll take care of it.

----------------------------------------
Bug #14809: calc_lineno() returns wrong location
https://bugs.ruby-lang.org/issues/14809#change-72362

* Author: ktsj (Kazuki Tsujimoto)
* Status: Assigned
* Priority: Normal
* Assignee: shyouhei (Shyouhei Urabe)
* Target version: 
* ruby -v: ruby 2.6.0dev (2018-06-02 master 63545) [x86_64-linux]
* Backport: 2.3: DONTNEED, 2.4: DONTNEED, 2.5: DONTNEED
----------------------------------------
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が変更されるタイミングが異なるようになったことが原因です。




-- 
https://bugs.ruby-lang.org/