| .globl emscripten_stack_init |
| .globl emscripten_stack_set_limits |
| .globl emscripten_stack_get_free |
| .globl emscripten_stack_get_base |
| .globl emscripten_stack_get_end |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| .globaltype __stack_pointer, PTR |
|
|
| .section .globals,"",@ |
|
|
| |
| |
| .globaltype __stack_end, PTR |
| __stack_end: |
| .globaltype __stack_base, PTR |
| __stack_base: |
|
|
| .section .text,"",@ |
|
|
| emscripten_stack_get_base: |
| .functype emscripten_stack_get_base () -> (PTR) |
| global.get __stack_base |
| end_function |
|
|
| emscripten_stack_get_end: |
| .functype emscripten_stack_get_end () -> (PTR) |
| global.get __stack_end |
| end_function |
|
|
| emscripten_stack_init: |
| |
| |
| |
| .functype emscripten_stack_init () -> () |
|
|
| |
| |
| |
| global.get __stack_high@GOT |
| |
| PTR.const __stack_high |
| |
| global.set __stack_base |
|
|
| |
| |
| global.get __stack_low@GOT |
| |
| PTR.const __stack_low |
| |
| |
| PTR.const 0xf |
| PTR.add |
| PTR.const -0x10 |
| PTR.and |
| global.set __stack_end |
|
|
| end_function |
|
|
| emscripten_stack_set_limits: |
| .functype emscripten_stack_set_limits (PTR, PTR) -> () |
| local.get 0 |
| global.set __stack_base |
| local.get 1 |
| global.set __stack_end |
| end_function |
|
|
| emscripten_stack_get_free: |
| .functype emscripten_stack_get_free () -> (PTR) |
| global.get __stack_pointer |
| global.get __stack_end |
| PTR.sub |
| end_function |
|
|
| |
| .section .init_array.1,"",@ |
| .p2align ALIGN |
| PTRSTORE emscripten_stack_init |
|
|