ref: dbe60482e84a28a55ae6d9f5a7c9728e00f690d3
dir: /lib/thread/exit+openbsd-x64.s/
/* const thread.exit : (stacksz : std.size -> void) NOTE: must be called from the bottom of the stack, since we assume that %rbp is in the top 4k of the stack. */ .globl thread$exit thread$exit: /* find top of stack */ movq %rbp,%rdi /* addr */ andq $~0xfff,%rdi /* align it */ addq $0x1000,%rdi /* munmap(base, size) */ movq $73,%rax /* munmap */ movq -8(%rdi),%rsi /* size */ subq %rsi,%rdi /* move to base ptr */ syscall /* __threxit(0) */ movq $302,%rax /* exit */ xorq %rdi,%rdi /* 0 */ syscall