mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-10 05:53:39 +00:00
Implement minimal bump pointer allocator
Useful for MCUs, until a real garbage collector has been implemented.
This commit is contained in:
@@ -3,6 +3,10 @@
|
||||
|
||||
package runtime
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// #include <stdio.h>
|
||||
// #include <stdlib.h>
|
||||
// #include <unistd.h>
|
||||
@@ -21,3 +25,15 @@ func Sleep(d Duration) {
|
||||
func abort() {
|
||||
C.abort()
|
||||
}
|
||||
|
||||
func alloc(size uintptr) unsafe.Pointer {
|
||||
buf := C.calloc(1, C.size_t(size))
|
||||
if buf == nil {
|
||||
panic("cannot allocate memory")
|
||||
}
|
||||
return buf
|
||||
}
|
||||
|
||||
func free(ptr unsafe.Pointer) {
|
||||
C.free(ptr)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user