mirror of https://github.com/golang/go.git
cmd/compile/internal: loop opt
Change-Id: I19faa360d72d19943c66c50167e2b8a17f046b59
This commit is contained in:
parent
609d82b289
commit
94fea3d572
|
|
@ -619,9 +619,11 @@ func PtrDataSize(t *Type) int64 {
|
|||
case TSTRUCT:
|
||||
// Find the last field that has pointers.
|
||||
var lastPtrField *Field
|
||||
for _, t1 := range t.Fields().Slice() {
|
||||
if t1.Type.HasPointers() {
|
||||
lastPtrField = t1
|
||||
fs := t.Fields().Slice()
|
||||
for i := len(fs) - 1; i >= 0; i-- {
|
||||
if fs[i].Type.HasPointers() {
|
||||
lastPtrField = fs[i]
|
||||
break
|
||||
}
|
||||
}
|
||||
return lastPtrField.Offset + PtrDataSize(lastPtrField.Type)
|
||||
|
|
|
|||
Loading…
Reference in New Issue