1//===-- ARMJITInfo.cpp - Implement the JIT interfaces for the ARM target --===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 125 unchanged lines hidden (view full) --- 134TargetJITInfo::LazyResolverFn 135ARMJITInfo::getLazyResolverFunction(JITCompilerFn F) { 136 JITCompilerFunction = F; 137 return ARMCompilationCallback; 138} 139 140void *ARMJITInfo::emitGlobalValueIndirectSym(const GlobalValue *GV, void *Ptr, 141 JITCodeEmitter &JCE) { |
142 uint8_t Buffer[4]; 143 uint8_t *Cur = Buffer; 144 MachineCodeEmitter::emitWordLEInto(Cur, (intptr_t)Ptr); 145 void *PtrAddr = JCE.allocIndirectGV( 146 GV, Buffer, sizeof(Buffer), /*Alignment=*/4); |
147 addIndirectSymAddr(Ptr, (intptr_t)PtrAddr); 148 return PtrAddr; 149} 150 151TargetJITInfo::StubLayout ARMJITInfo::getStubLayout() { 152 // The stub contains up to 3 4-byte instructions, aligned at 4 bytes, and a 153 // 4-byte address. See emitFunctionStub for details. 154 StubLayout Result = {16, 4}; --- 169 unchanged lines hidden --- |