summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2015-02-21 16:51:12 -0800
committerJan Kotas <jkotas@microsoft.com>2015-02-21 16:51:12 -0800
commit416d157eceab148ad8df4e55752831ce67fa5931 (patch)
treea009ef7df422759623842aa3313625c1864d8924 /src
parent4c5521c066305fb1bb8b01637712109f5c79c8f4 (diff)
parent08f1143cbc1197e2925495f698a833a2d7d96594 (diff)
downloadcoreclr-416d157eceab148ad8df4e55752831ce67fa5931.tar.gz
coreclr-416d157eceab148ad8df4e55752831ce67fa5931.tar.bz2
coreclr-416d157eceab148ad8df4e55752831ce67fa5931.zip
Merge pull request #317 from janvorli/fix-cfi-annotation
Fix cfi annotation for NDirectImportThunk and JIT_RareDisableHelper
Diffstat (limited to 'src')
-rw-r--r--src/vm/amd64/unixasmhelpers.S16
-rw-r--r--src/vm/amd64/unixasmmacros.inc12
2 files changed, 18 insertions, 10 deletions
diff --git a/src/vm/amd64/unixasmhelpers.S b/src/vm/amd64/unixasmhelpers.S
index 873db7ad1e..17846947fa 100644
--- a/src/vm/amd64/unixasmhelpers.S
+++ b/src/vm/amd64/unixasmhelpers.S
@@ -101,7 +101,7 @@ NESTED_ENTRY NDirectImportThunk, _TEXT, NoHandler
// Make sure to preserve r11 as well as it is used to pass the stack argument size from JIT
//
PUSH_ARGUMENT_REGISTERS
- push r11
+ push_register r11
//
// Allocate space for XMM parameter registers
@@ -123,12 +123,12 @@ NESTED_ENTRY NDirectImportThunk, _TEXT, NoHandler
//
// epilogue, rax contains the native target address
//
- add rsp, 0x80
+ free_stack 0x80
//
// Restore integer parameter registers and r11
//
- pop r11
+ pop_register r11
POP_ARGUMENT_REGISTERS
TAILJMP_RAX
@@ -153,9 +153,9 @@ LEAF_END moveOWord, _TEXT
NESTED_ENTRY JIT_RareDisableHelper, _TEXT, NoHandler
// First integer return register
- push rax
+ push_register rax
// Second integer return register
- push rdx
+ push_register rdx
alloc_stack 0x28
END_PROLOGUE
// First float return register
@@ -167,9 +167,9 @@ NESTED_ENTRY JIT_RareDisableHelper, _TEXT, NoHandler
movdqa xmm0, [rsp]
movdqa xmm1, [rsp+0x10]
- add rsp, 0x28
- pop rdx
- pop rax
+ free_stack 0x28
+ pop_register rdx
+ pop_register rax
ret
NESTED_END JIT_RareDisableHelper, _TEXT
diff --git a/src/vm/amd64/unixasmmacros.inc b/src/vm/amd64/unixasmmacros.inc
index 8fb0ff201b..aaf4390c47 100644
--- a/src/vm/amd64/unixasmmacros.inc
+++ b/src/vm/amd64/unixasmmacros.inc
@@ -173,11 +173,15 @@ C_FUNC(\Name\()_End):
.endm
-.macro push_argument_register Reg
+.macro push_register Reg
push \Reg
.cfi_adjust_cfa_offset 8
.endm
+.macro push_argument_register Reg
+ push_register \Reg
+.endm
+
.macro PUSH_ARGUMENT_REGISTERS
push_argument_register r9
@@ -189,11 +193,15 @@ C_FUNC(\Name\()_End):
.endm
-.macro pop_argument_register Reg
+.macro pop_register Reg
pop \Reg
.cfi_adjust_cfa_offset -8
.endm
+.macro pop_argument_register Reg
+ pop_register \Reg
+.endm
+
.macro POP_ARGUMENT_REGISTERS
pop_argument_register rdi