diff options
author | Kyungwoo Lee <kyulee@microsoft.com> | 2016-04-29 10:29:28 -0700 |
---|---|---|
committer | Kyungwoo Lee <kyulee@microsoft.com> | 2016-04-29 14:52:46 -0700 |
commit | 45798f661f8c8c042f3582cde8b611d1c9c7343f (patch) | |
tree | 0d75dad9935f95c5bf4bd309899a37456e4478bd /src/vm/arm64/stubs.cpp | |
parent | 601b1051c1022d5f764224e35be59f02a6074ad0 (diff) | |
download | coreclr-45798f661f8c8c042f3582cde8b611d1c9c7343f.tar.gz coreclr-45798f661f8c8c042f3582cde8b611d1c9c7343f.tar.bz2 coreclr-45798f661f8c8c042f3582cde8b611d1c9c7343f.zip |
ARM64: Enabling Crossgen End-to-End Mscorlib
Fixes https://github.com/dotnet/coreclr/issues/4350
Fixes https://github.com/dotnet/coreclr/issues/4615
This is a bit large change across VM/Zap/JIT to properly support crossgen
scenario.
1. Fix incorrect `ldr` encoding with size.
2. Enforce JIT data following JIT code per method by allocating them together.
This guarantees correct PC-relative encoding for such constant data access
without fix-up.
3. For the general fix-up data acceess, use `adrp/add` instruction pairs with fix-ups.
Two more relocations types are implemented in all sides.
4. Interface dispatch stub is now implemented which is needed for
interface call for crossgen.
I've verified hello world runs with mscorlib.ni.dll.
Diffstat (limited to 'src/vm/arm64/stubs.cpp')
-rw-r--r-- | src/vm/arm64/stubs.cpp | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/src/vm/arm64/stubs.cpp b/src/vm/arm64/stubs.cpp index c50fdca7f7..e1b8768e83 100644 --- a/src/vm/arm64/stubs.cpp +++ b/src/vm/arm64/stubs.cpp @@ -1046,13 +1046,6 @@ extern "C" void GenericComPlusCallStub(void) } #endif // FEATURE_COMINTEROP -#ifdef FEATURE_PREJIT -extern "C" void StubDispatchFixupStub() -{ - _ASSERTE(!"ARM64:NYI"); -} -#endif - //ARM64TODO: check if this should be amd64 and win64 #ifdef _WIN64 extern "C" void PInvokeStubForHostInner(DWORD dwStackSize, LPVOID pStackFrame, LPVOID pTarget) |