mirror of
https://github.com/golang/go
synced 2024-11-18 04:14:49 -07:00
cmd/internal/gc: show register dump before crashing on register left allocated
If you are using -h to get a stack trace at the site of the failure, Yyerror will never return. Dump the register allocation sites before calling Yyerror. Change-Id: I51266c03e06cb5084c2eaa89b367b9ed85ba286a Reviewed-on: https://go-review.googlesource.com/9788 Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Dave Cheney <dave@cheney.net>
This commit is contained in:
parent
8f037fa1ab
commit
c70b4b5f7e
@ -625,20 +625,20 @@ func gclean() {
|
||||
for r := Thearch.REGMIN; r <= Thearch.REGMAX; r++ {
|
||||
n := reg[r-Thearch.REGMIN]
|
||||
if n != 0 {
|
||||
Yyerror("reg %v left allocated", obj.Rconv(r))
|
||||
if Debug['v'] != 0 {
|
||||
Regdump()
|
||||
}
|
||||
Yyerror("reg %v left allocated", obj.Rconv(r))
|
||||
}
|
||||
}
|
||||
|
||||
for r := Thearch.FREGMIN; r <= Thearch.FREGMAX; r++ {
|
||||
n := reg[r-Thearch.REGMIN]
|
||||
if n != 0 {
|
||||
Yyerror("reg %v left allocated", obj.Rconv(r))
|
||||
if Debug['v'] != 0 {
|
||||
Regdump()
|
||||
}
|
||||
Yyerror("reg %v left allocated", obj.Rconv(r))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user