]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/runtime/traceback.go
[dev.typeparams] all: merge master (fdab5be) into dev.typeparams
[gostls13.git] / src / runtime / traceback.go
index 814c3236345404e63f7d37c11e0076b67d824d52..fa41fdfe2d0292910a5e381bc779c4fc630b29ee 100644 (file)
@@ -21,41 +21,6 @@ import (
 
 const usesLR = sys.MinFrameSize > 0
 
-// Traceback over the deferred function calls.
-// Report them like calls that have been invoked but not started executing yet.
-func tracebackdefers(gp *g, callback func(*stkframe, unsafe.Pointer) bool, v unsafe.Pointer) {
-       var frame stkframe
-       for d := gp._defer; d != nil; d = d.link {
-               fn := d.fn
-               if fn == nil {
-                       // Defer of nil function. Args don't matter.
-                       frame.pc = 0
-                       frame.fn = funcInfo{}
-                       frame.argp = 0
-                       frame.arglen = 0
-                       frame.argmap = nil
-               } else {
-                       frame.pc = fn.fn
-                       f := findfunc(frame.pc)
-                       if !f.valid() {
-                               print("runtime: unknown pc in defer ", hex(frame.pc), "\n")
-                               throw("unknown pc")
-                       }
-                       frame.fn = f
-                       frame.argp = uintptr(deferArgs(d))
-                       var ok bool
-                       frame.arglen, frame.argmap, ok = getArgInfoFast(f, true)
-                       if !ok {
-                               frame.arglen, frame.argmap = getArgInfo(&frame, f, true, fn)
-                       }
-               }
-               frame.continpc = frame.pc
-               if !callback((*stkframe)(noescape(unsafe.Pointer(&frame))), v) {
-                       return
-               }
-       }
-}
-
 // Generic traceback. Handles runtime stack prints (pcbuf == nil),
 // the runtime.Callers function (pcbuf != nil), as well as the garbage
 // collector (callback != nil).  A little clunky to merge these, but avoids