aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflysand7 <yyakut.ac@gmail.com>2023-10-20 23:31:09 +1100
committerflysand7 <yyakut.ac@gmail.com>2023-10-20 23:31:09 +1100
commit05a9652f76e4d673ac6ec21113866eb5d34435ea (patch)
tree03e08dfe3523ecedf48c9d47512211c3b4a34ded
parentba5df8edca5e20bbb8dc2fea777df41374c6e06c (diff)
convert procs_windows_amd64.asm to tabs
-rw-r--r--core/runtime/procs_windows_amd64.asm54
1 files changed, 27 insertions, 27 deletions
diff --git a/core/runtime/procs_windows_amd64.asm b/core/runtime/procs_windows_amd64.asm
index 350ffad2b..f588b3453 100644
--- a/core/runtime/procs_windows_amd64.asm
+++ b/core/runtime/procs_windows_amd64.asm
@@ -45,35 +45,35 @@ section .text
; totally supports this kind of stack.
__chkstk:
;; Allocate 16 bytes to store values of r10 and r11
- sub rsp, 0x10
- mov [rsp], r10
- mov [rsp+0x8], r11
- ;; Set r10 to point to the stack as of the moment of the function call
- lea r10, [rsp+0x18]
- ;; Subtract r10 til the bottom of the stack allocation, if we overflow
- ;; reset r10 to 0, we'll crash with segfault anyway
- xor r11, r11
- sub r10, rax
- cmovb r10, r11
- ;; Load r11 with the bottom of the stack (lowest allocated address)
- mov r11, gs:[0x10] ; NOTE(flysand): gs:[0x10] is stack limit
- ;; If the bottom of the allocation is above the bottom of the stack,
- ;; we don't need to probe
- cmp r10, r11
- jnb .end
- ;; Align the bottom of the allocation down to page size
- and r10w, 0xf000
+ sub rsp, 0x10
+ mov [rsp], r10
+ mov [rsp+0x8], r11
+ ;; Set r10 to point to the stack as of the moment of the function call
+ lea r10, [rsp+0x18]
+ ;; Subtract r10 til the bottom of the stack allocation, if we overflow
+ ;; reset r10 to 0, we'll crash with segfault anyway
+ xor r11, r11
+ sub r10, rax
+ cmovb r10, r11
+ ;; Load r11 with the bottom of the stack (lowest allocated address)
+ mov r11, gs:[0x10] ; NOTE(flysand): gs:[0x10] is stack limit
+ ;; If the bottom of the allocation is above the bottom of the stack,
+ ;; we don't need to probe
+ cmp r10, r11
+ jnb .end
+ ;; Align the bottom of the allocation down to page size
+ and r10w, 0xf000
.loop:
;; Move the pointer to the next guard page, and touch it by loading 0
;; into that page
- lea r11, [r11-0x1000]
- mov byte [r11], 0x0
- ;; Did we reach the bottom of the allocation?
- cmp r10, r11
- jnz .loop
+ lea r11, [r11-0x1000]
+ mov byte [r11], 0x0
+ ;; Did we reach the bottom of the allocation?
+ cmp r10, r11
+ jnz .loop
.end:
;; Restore previous r10 and r11 and return
- mov r10, [rsp]
- mov r11, [rsp+0x8]
- add rsp, 0x10
- ret \ No newline at end of file
+ mov r10, [rsp]
+ mov r11, [rsp+0x8]
+ add rsp, 0x10
+ ret \ No newline at end of file