summary refs log tree commit diff stats
path: root/tinyc/lib/alloca86_64-bt.S
diff options
context:
space:
mode:
Diffstat (limited to 'tinyc/lib/alloca86_64-bt.S')
-rw-r--r--tinyc/lib/alloca86_64-bt.S56
1 files changed, 0 insertions, 56 deletions
diff --git a/tinyc/lib/alloca86_64-bt.S b/tinyc/lib/alloca86_64-bt.S
deleted file mode 100644
index 4cbad90f8..000000000
--- a/tinyc/lib/alloca86_64-bt.S
+++ /dev/null
@@ -1,56 +0,0 @@
-/* ---------------------------------------------- */
-/* alloca86_64.S */
-
-.globl __bound_alloca
-__bound_alloca:
-
-#ifdef _WIN32
-    # bound checking is not implemented
-    pop     %rdx
-    mov     %rcx,%rax
-    add     $15,%rax
-    and     $-16,%rax
-    jz      p3
-
-p1:
-    cmp     $4096,%rax
-    jbe     p2
-    test    %rax,-4096(%rsp)
-    sub     $4096,%rsp
-    sub     $4096,%rax
-    jmp p1
-p2:
-
-    sub     %rax,%rsp
-    mov     %rsp,%rax
-    add     $32,%rax
-
-p3:
-    push    %rdx
-    ret
-#else
-    pop     %rdx
-    mov     %rdi,%rax
-    mov     %rax,%rsi	# size, a second parm to the __bound_new_region
-
-    add     $15,%rax
-    and     $-16,%rax
-    jz      p3
-
-
-    sub     %rax,%rsp
-    mov     %rsp,%rdi	# pointer, a first parm to the __bound_new_region
-    mov     %rsp,%rax
-
-    push    %rdx
-    push    %rax
-    call   __bound_new_region
-    pop     %rax
-    pop     %rdx
-
-p3:
-    push    %rdx
-    ret
-#endif
-
-/* ---------------------------------------------- */