Skip to content

core/arena: use clear() for zeroing, pre-alloc stack to 1024, isolate prefetcher from arena#566

Closed
tellabg wants to merge 0 commit intogballet:arena-allocatorfrom
tellabg:arena-allocator
Closed

core/arena: use clear() for zeroing, pre-alloc stack to 1024, isolate prefetcher from arena#566
tellabg wants to merge 0 commit intogballet:arena-allocatorfrom
tellabg:arena-allocator

Conversation

@tellabg
Copy link
Copy Markdown

@tellabg tellabg commented Feb 13, 2026

Fixes

  • clear() for zeroing: Replace byte-by-byte zeroing loop with clear() which compiles to optimized memclr
  • Stack pre-alloc 1024: Pre-allocate EVM stack to 1024 entries (EVM max) to avoid heap escapes via append
  • Prefetcher isolation: Set Allocator=nil for prefetcher goroutine to prevent data race on shared BumpAllocator (not thread-safe)
  • goimports formatting: Fix lint issues in interpreter.go and arena_integration_test.go

Testing

  • All arena/vm/runtime/integration tests pass
  • go run ./build/ci.go lint → 0 issues
  • 10,000 Hoodi blocks imported with --vmarena successfully

@gballet gballet self-requested a review February 13, 2026 19:58
@tellabg tellabg requested a review from jwasinger as a code owner February 17, 2026 21:25
@tellabg tellabg force-pushed the arena-allocator branch 2 times, most recently from 6e42c31 to f2db2d6 Compare February 21, 2026 18:54
@gballet gballet closed this Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants