24 lines
529 B
TypeScript
Raw Normal View History

/**
2018-03-19 01:12:18 +01:00
* System Memory Allocator.
*
* Uses the environment's malloc and free implementations, i.e., when linking with other C-like
* programs that already provide these.
2018-03-19 01:12:18 +01:00
*
* @module std/assembly/allocator/system
*//***/
2018-02-02 04:21:06 +01:00
declare function malloc(size: usize): usize;
declare function free(ptr: usize): void;
2018-07-19 16:15:56 +02:00
// Memory allocator interface
2019-03-10 21:38:15 +01:00
@global namespace memory {
2018-07-19 16:15:56 +02:00
2019-03-10 21:38:15 +01:00
@inline export function allocate(size: usize): usize {
return malloc(size);
}
2018-02-02 04:21:06 +01:00
2019-03-10 21:38:15 +01:00
@inline export function free(ptr: usize): void {
free(ptr);
}
2018-02-02 04:21:06 +01:00
}