[PATCH] D73015: Add more detailed comment for ORC stub code

Axis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 16:09:44 PST 2020


dongAxis updated this revision to Diff 239727.
dongAxis added a comment.

use static constexpr variable instead of local variable


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73015/new/

https://reviews.llvm.org/D73015

Files:
  llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp


Index: llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
===================================================================
--- llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
+++ llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
@@ -252,8 +252,13 @@
   uint64_t *Stub = reinterpret_cast<uint64_t *>(StubsBlock.base());
   uint64_t PtrOffsetField = static_cast<uint64_t>(NumPages * PageSize - 6)
                             << 16;
+  static constexpr uint8_t StubCode[8] = {
+      0xFF, 0x25, 0x00, 0x00, 0x00, 0x00,   // jmpq    *0x00 (%rip)
+      0xC4,                                 // invalid code: 0xC4, 0xF1
+      0xF1
+  };
   for (unsigned I = 0; I < NumStubs; ++I)
-    Stub[I] = 0xF1C40000000025ff | PtrOffsetField;
+    Stub[I] = *(uint64_t *)StubCode | PtrOffsetField;
 
   if (auto EC = sys::Memory::protectMappedMemory(
           StubsBlock, sys::Memory::MF_READ | sys::Memory::MF_EXEC))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73015.239727.patch
Type: text/x-patch
Size: 902 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200123/14d1b820/attachment.bin>


More information about the llvm-commits mailing list