core/vm: improve memory resize

This commit is contained in:
Gary Rong 2026-02-09 23:37:00 +08:00
parent aa457eda4b
commit 3f5229d33b

View file

@ -83,7 +83,16 @@ func (m *Memory) Resize(size uint64) {
if uint64(cap(m.store)) >= size {
m.store = m.store[:size]
} else {
m.store = append(m.store, make([]byte, size-uint64(len(m.store)))...)
newCap := uint64(cap(m.store))
if newCap == 0 {
newCap = 1
}
for newCap < size {
newCap *= 2
}
newStore := make([]byte, size, newCap)
copy(newStore, m.store)
m.store = newStore
}
}
}