From 3f5229d33be1c7cbd9bc4f2dd8c08f0cb6332a49 Mon Sep 17 00:00:00 2001 From: Gary Rong Date: Mon, 9 Feb 2026 23:37:00 +0800 Subject: [PATCH] core/vm: improve memory resize --- core/vm/memory.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/vm/memory.go b/core/vm/memory.go index 54bc2b2849..353f681e07 100644 --- a/core/vm/memory.go +++ b/core/vm/memory.go @@ -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 } } }