return
}
if d.openDefer {
- done := runOpenDeferFrame(gp, d)
+ done := runOpenDeferFrame(d)
if !done {
throw("unfinished open-coded defers in deferreturn")
}
d.started = true
d._panic = (*_panic)(noescape(unsafe.Pointer(&p)))
if d.openDefer {
- done := runOpenDeferFrame(gp, d)
+ done := runOpenDeferFrame(d)
if !done {
// We should always run all defers in the frame,
// since there is no panic associated with this
// d. It normally processes all active defers in the frame, but stops immediately
// if a defer does a successful recover. It returns true if there are no
// remaining defers to run in the frame.
-func runOpenDeferFrame(gp *g, d *_defer) bool {
+func runOpenDeferFrame(d *_defer) bool {
done := true
fd := d.fd
done := true
if d.openDefer {
- done = runOpenDeferFrame(gp, d)
+ done = runOpenDeferFrame(d)
if done && !d._panic.recovered {
addOneOpenDeferFrame(gp, 0, nil)
}