Source file src/runtime/mem_wasm.go

     1  // Copyright 2023 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package runtime
     6  
     7  import "unsafe"
     8  
     9  func sbrk(n uintptr) unsafe.Pointer {
    10  	bl := bloc
    11  	n = memRound(n)
    12  	if bl+n > blocMax {
    13  		grow := (bl + n - blocMax) / physPageSize
    14  		size := growMemory(int32(grow))
    15  		if size < 0 {
    16  			return nil
    17  		}
    18  		resetMemoryDataView()
    19  		blocMax = bl + n
    20  	}
    21  	bloc += n
    22  	return unsafe.Pointer(bl)
    23  }
    24  
    25  // Implemented in src/runtime/sys_wasm.s
    26  func growMemory(pages int32) int32
    27  func currentMemory() int32
    28  

View as plain text