runtime: add "end of heap" to detect out of memory

This can be used in the future to trigger garbage collection. For now,
it provides a more useful error message in case the heap is completely
filled up.
This commit is contained in:
Ayke van Laethem
2018-11-17 15:30:38 +01:00
parent ef93001ab8
commit 9181f2d4ce
5 changed files with 27 additions and 4 deletions
+6 -1
View File
@@ -14,7 +14,12 @@ const TargetBits = 32
//go:extern __heap_base
var heapStartSymbol unsafe.Pointer
var heapStart = uintptr(unsafe.Pointer(&heapStartSymbol))
var (
heapStart = uintptr(unsafe.Pointer(&heapStartSymbol))
heapEnd = (heapStart + wasmPageSize - 1) & (wasmPageSize - 1) // conservative guess: one page of heap memory
)
const wasmPageSize = 64 * 1024
// Align on word boundary.
func align(ptr uintptr) uintptr {