diff options
author | Jan Kotas <jkotas@microsoft.com> | 2016-06-20 21:25:39 +0300 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2016-06-20 21:25:39 +0300 |
commit | ca5ecca0b6335cee40bb1eae7ce53ea95548b309 (patch) | |
tree | fdd8f9d42968969c69856f022f91bd52712603a7 /src/Native/Runtime/amd64 | |
parent | 579e324be4d0b25436ad895f180bcaef7f0d66b9 (diff) |
Cleanup RhExceptionHandling_ functions
Now that nutc generated code does not use them anymore, it is possible to cleanup RhExceptionHandling_ functions to not depend on GetReturnAddress intrinsic.
The binder generate wrappers around checked math helpers were calling RhExceptionHandling_ methods as well. I have changed these checked math helpers to be implemented in C# instead of using the wrappers. It makes them faster (e.g. checked multiplication is 20% faster on x86 now).
[tfs-changeset: 1613638]
Diffstat (limited to 'src/Native/Runtime/amd64')
-rw-r--r-- | src/Native/Runtime/amd64/MiscStubs.asm | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/src/Native/Runtime/amd64/MiscStubs.asm b/src/Native/Runtime/amd64/MiscStubs.asm index fa974a89c..cafc10538 100644 --- a/src/Native/Runtime/amd64/MiscStubs.asm +++ b/src/Native/Runtime/amd64/MiscStubs.asm @@ -102,30 +102,6 @@ RhpCheckCctor2__SlowPath_FrameSize equ 20h + 10h + 8h ;; Scratch space + storage NESTED_END RhpCheckCctor2__SlowPath, _TEXT -;; -;; Input: -;; rcx: address of location on stack containing return address. -;; -;; Outpt: -;; rax: proper (unhijacked) return address -;; -;; Trashes: rdx -;; -LEAF_ENTRY RhpLoadReturnAddress, _TEXT - - INLINE_GETTHREAD rax, rdx - cmp rcx, [rax + OFFSETOF__Thread__m_ppvHijackedReturnAddressLocation] - je GetHijackedReturnAddress - mov rax, [rcx] - ret - -GetHijackedReturnAddress: - mov rax, [rax + OFFSETOF__Thread__m_pvHijackedReturnAddress] - ret - -LEAF_END RhpLoadReturnAddress, _TEXT - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; void* RhpCopyMultibyteNoGCRefs(void*, void*, size_t) |