diff options
author | Rahul Kumar <rahku@microsoft.com> | 2016-05-05 15:53:07 -0700 |
---|---|---|
committer | Rahul Kumar <rahku@microsoft.com> | 2016-05-09 10:26:12 -0700 |
commit | 559719a62aa7134da929d22f40c3c772e5d06348 (patch) | |
tree | 860b42836e8c58fa7bec845a92edbd0a907e1561 /src/zap/zapimport.cpp | |
parent | ef04d7d2083c8e6fb8f3cf6294f2ae06928dae10 (diff) | |
download | coreclr-559719a62aa7134da929d22f40c3c772e5d06348.tar.gz coreclr-559719a62aa7134da929d22f40c3c772e5d06348.tar.bz2 coreclr-559719a62aa7134da929d22f40c3c772e5d06348.zip |
[Arm64] Helpers for ReadyToRun
Diffstat (limited to 'src/zap/zapimport.cpp')
-rw-r--r-- | src/zap/zapimport.cpp | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/src/zap/zapimport.cpp b/src/zap/zapimport.cpp index 98e7afee6a..c0ea82743a 100644 --- a/src/zap/zapimport.cpp +++ b/src/zap/zapimport.cpp @@ -1907,7 +1907,7 @@ DWORD ZapIndirectHelperThunk::SaveWorker(ZapWriter * pZapWriter) { ZapImage * pImage = ZapImage::GetImage(pZapWriter); - BYTE buffer[42]; + BYTE buffer[44]; BYTE * p = buffer; #if defined(_TARGET_X86_) @@ -2087,50 +2087,50 @@ DWORD ZapIndirectHelperThunk::SaveWorker(ZapWriter * pZapWriter) { if (IsVSD()) { - // x11 contains indirection cell - // Do nothing x11 contains our first param + // x11 contains indirection cell + // Do nothing x11 contains our first param } else { // mov x11, x12 - *(DWORD*)p = 0xaa0c03eb; - p += 4; + *(DWORD*)p = 0xaa0c03eb; + p += 4; } // movz x8, #index - DWORD index = GetSectionIndex(); - _ASSERTE(index <= 0x7F); - *(DWORD*)p = 0xd2800008 | (index << 5); - p += 4; + DWORD index = GetSectionIndex(); + _ASSERTE(index <= 0x7F); + *(DWORD*)p = 0xd2800008 | (index << 5); + p += 4; // move Module* -> x9 - // ldr x9, [PC+0x14] - *(DWORD*)p = 0x58000289; - p += 4; + // ldr x9, [PC+0x14] + *(DWORD*)p = 0x58000289; + p += 4; - //ldr x9, [x9] - *(DWORD*)p = 0xf9400129; - p += 4; - } + //ldr x9, [x9] + *(DWORD*)p = 0xf9400129; + p += 4; + } else if (IsLazyHelper()) { - // Move Module* -> x1 + // Move Module* -> x1 // ldr x1, [PC+0x14] - *(DWORD*)p = 0x58000289; - p += 4; + *(DWORD*)p = 0x58000289; + p += 4; - // ldr x1, [x1] - *(DWORD*)p = 0xf9400021; - p += 4; - } + // ldr x1, [x1] + *(DWORD*)p = 0xf9400021; + p += 4; + } // branch to helper // mov x12, [helper] - // ldr x12, [PC+0x14] - *(DWORD*)p = 0x58000289; - p += 4; + // ldr x12, [PC+0x14] + *(DWORD*)p = 0x58000289; + p += 4; // ldr x12, [x12] *(DWORD *)p = 0xf940018c; @@ -2140,14 +2140,14 @@ DWORD ZapIndirectHelperThunk::SaveWorker(ZapWriter * pZapWriter) *(DWORD *)p = 0xd61f0180; p += 4; - // [Module*] - if (pImage != NULL) - pImage->WriteReloc(buffer, (int)(p - buffer), pImage->GetImportTable()->GetHelperImport(READYTORUN_HELPER_Module), 0, IMAGE_REL_BASED_PTR); - p += 8; + // [Module*] + if (pImage != NULL) + pImage->WriteReloc(buffer, (int)(p - buffer), pImage->GetImportTable()->GetHelperImport(READYTORUN_HELPER_Module), 0, IMAGE_REL_BASED_PTR); + p += 8; // [helper] - if (pImage != NULL) - pImage->WriteReloc(buffer, (int)(p - buffer), pImage->GetImportTable()->GetHelperImport(GetReadyToRunHelper()), 0, IMAGE_REL_BASED_PTR); - p += 8; + if (pImage != NULL) + pImage->WriteReloc(buffer, (int)(p - buffer), pImage->GetImportTable()->GetHelperImport(GetReadyToRunHelper()), 0, IMAGE_REL_BASED_PTR); + p += 8; #else PORTABILITY_ASSERT("ZapIndirectHelperThunk::SaveWorker"); #endif |