• David Lazar's avatar
    runtime/trace: iterate over frames instead of PCs · 3249cb0a
    David Lazar authored
    Now the runtime/trace tests pass with -l=4.
    
    This also gets rid of the frames cache for multiple reasons:
    
    1) The frames cache was used to avoid repeated calls to funcname and
    funcline. Now these calls happen inside the CallersFrames iterator.
    
    2) Maintaining a frames cache is harder: map[uintptr]traceFrame
    doesn't work since each PC can map to multiple traceFrames.
    
    3) It's not clear that the cache is important.
    
    Change-Id: I2914ac0b3ba08e39b60149d99a98f9f532b35bbb
    Reviewed-on: https://go-review.googlesource.com/40591
    Run-TryBot: David Lazar <lazard@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarAustin Clements <austin@google.com>
    3249cb0a
trace.go 32.5 KB