Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2016-10-01 17:31:20 +0300
committerJan Kotas <jkotas@microsoft.com>2016-10-01 17:31:20 +0300
commitb2f9dd370a321d5c38018b53401c81746fdd5133 (patch)
treead8c77aae94d2f989bd3fb62b0ad528e6177fd7f /src/Native/Runtime/i386
parentde4dd52e9664a608d17fd86732e73d6ecc3ef962 (diff)
Reduce amount of assembly code for CastableObjectSupport
Rewrote some of it in C++ or C# [tfs-changeset: 1630452]
Diffstat (limited to 'src/Native/Runtime/i386')
-rw-r--r--src/Native/Runtime/i386/StubDispatch.asm40
1 files changed, 7 insertions, 33 deletions
diff --git a/src/Native/Runtime/i386/StubDispatch.asm b/src/Native/Runtime/i386/StubDispatch.asm
index 5153d73b8..3a0873609 100644
--- a/src/Native/Runtime/i386/StubDispatch.asm
+++ b/src/Native/Runtime/i386/StubDispatch.asm
@@ -16,7 +16,6 @@ ifdef FEATURE_CACHED_INTERFACE_DISPATCH
EXTERN RhpCidResolve : PROC
EXTERN _RhpUniversalTransition_DebugStepTailCall@0 : PROC
EXTERN RhpCastableObjectResolve : PROC
-EXTERN _RhpCheckedAssignRefEDX : PROC
EXTERN _t_TLS_DispatchCell:DWORD
EXTERN __tls_index:DWORD
@@ -31,31 +30,21 @@ GET_TLS_DISPATCH_CELL macro
mov eax, [eax + SECTIONREL _t_TLS_DispatchCell]
endm
-_RhpGetTailCallTLSDispatchCell proc public
- lea eax, RhpTailCallTLSDispatchCell
- ret
-_RhpGetTailCallTLSDispatchCell endp
-
-RhpTailCallTLSDispatchCell proc public
+_RhpTailCallTLSDispatchCell proc public
;; Load the dispatch cell out of the TLS variable
GET_TLS_DISPATCH_CELL
;; Tail call to the target of the dispatch cell
jmp dword ptr [eax]
-RhpTailCallTLSDispatchCell endp
-
-_RhpGetCastableObjectDispatchHelper_TailCalled proc public
- lea eax, RhpCastableObjectDispatchHelper_TailCalled
- ret
-_RhpGetCastableObjectDispatchHelper_TailCalled endp
+_RhpTailCallTLSDispatchCell endp
-RhpCastableObjectDispatchHelper_TailCalled proc public
+_RhpCastableObjectDispatchHelper_TailCalled proc public
;; Load the dispatch cell out of the TLS variable
GET_TLS_DISPATCH_CELL
- jmp RhpCastableObjectDispatchHelper
-RhpCastableObjectDispatchHelper_TailCalled endp
+ jmp _RhpCastableObjectDispatchHelper
+_RhpCastableObjectDispatchHelper_TailCalled endp
-RhpCastableObjectDispatchHelper proc public
+_RhpCastableObjectDispatchHelper proc public
push ebp
mov ebp, esp
;; TODO! Implement fast lookup helper to avoid the universal transition each time we
@@ -70,22 +59,7 @@ RhpCastableObjectDispatchHelper proc public
lea eax, RhpCastableObjectResolve
push eax
jmp _RhpUniversalTransition_DebugStepTailCall@0
-RhpCastableObjectDispatchHelper endp
-
-_RhpGetCastableObjectDispatchHelper proc public
- lea eax, RhpCastableObjectDispatchHelper
- ret
-_RhpGetCastableObjectDispatchHelper endp
-
-_RhpGetCacheForCastableObject proc public
- mov eax, [ecx+4]
- ret
-_RhpGetCacheForCastableObject endp
-
-_RhpSetCacheForCastableObject proc public
- lea ecx, [ecx+4]
- jmp _RhpCheckedAssignRefEDX ;; Is this the correct form for tailcall?
-_RhpSetCacheForCastableObject endp
+_RhpCastableObjectDispatchHelper endp
;; Macro that generates code to check a single cache entry.