diff options
author | Manu <manu-silicon@users.noreply.github.com> | 2016-03-22 17:36:44 +0900 |
---|---|---|
committer | Manu <manu-silicon@users.noreply.github.com> | 2016-03-23 08:42:09 +0900 |
commit | 7d69a10cff9272c84b3211fe366f7a280781f18b (patch) | |
tree | eec1906051234db5a5795f5210c46f461fb33264 /src/pal/inc/unixasmmacrosarm.inc | |
parent | 21cbca6a3165ac9f3e2a3c1753ac6ee023aa9443 (diff) | |
download | coreclr-7d69a10cff9272c84b3211fe366f7a280781f18b.tar.gz coreclr-7d69a10cff9272c84b3211fe366f7a280781f18b.tar.bz2 coreclr-7d69a10cff9272c84b3211fe366f7a280781f18b.zip |
Implement GenericPInvokeCalliHelper on ARM
Add assemlby implementation for pinvoke stubs on ARM by porting the
Windows ARM code to Linux ARM assembly.
Diffstat (limited to 'src/pal/inc/unixasmmacrosarm.inc')
-rw-r--r-- | src/pal/inc/unixasmmacrosarm.inc | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/pal/inc/unixasmmacrosarm.inc b/src/pal/inc/unixasmmacrosarm.inc index aa515bc482..01b8f3aaba 100644 --- a/src/pal/inc/unixasmmacrosarm.inc +++ b/src/pal/inc/unixasmmacrosarm.inc @@ -2,6 +2,14 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +.macro LEAF_ENTRY Name, Section + .thumb_func + .global C_FUNC(\Name) + .type \Name, %function +C_FUNC(\Name): + .fnstart +.endm + .macro NESTED_ENTRY Name, Section, Handler LEAF_ENTRY \Name, \Section .ifnc \Handler, NoHandler @@ -19,14 +27,6 @@ C_FUNC(\Name): .endm -.macro LEAF_ENTRY Name, Section - .thumb_func - .global C_FUNC(\Name) - .type \Name, %function -C_FUNC(\Name): - .fnstart -.endm - .macro LEAF_END_MARKED Name, Section .thumb_func .global C_FUNC(\Name\()_End) @@ -204,10 +204,22 @@ C_FUNC(\Name\()_End): mov \Register, sp .endm +.macro EPILOG_STACK_FREE Size + add sp, sp, \Size +.endm + .macro EPILOG_STACK_RESTORE Register mov sp, \Register .endm +.macro EPILOG_BRANCH Target + b \Target +.endm + +.macro EPILOG_BRANCH_REG reg + bx \reg +.endm + .macro EPILOG_POP RegList pop_nonvol_reg "\RegList" .endm |