23 lines
609 B
TypeScript
Raw Normal View History

/**
2018-03-19 01:12:18 +01:00
* Emscripten Memory Allocator.
*
* Uses Emscripten's exported _malloc and _free implementations, i.e., when linking with
* Emscripten-compiled programs that already provide these. Differs from 'system' in that their
* names are prefixed with an underscore.
2018-03-19 01:12:18 +01:00
*
* @module std/assembly/allocator/emscripten
*//***/
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
@global export function __memory_allocate(size: usize): usize {
2018-02-02 04:21:06 +01:00
return _malloc(size);
}
2018-07-19 16:15:56 +02:00
@global export function __memory_free(ptr: usize): void {
2018-02-02 04:21:06 +01:00
_free(ptr);
}