From 89e8be00c5f410d2238d9ad771831684a2b3a314 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Tue, 29 Jul 2003 16:57:16 +0000 Subject: [PATCH] * Stop hard-coding a value for beginning of emitted code on Sparc since we can now handle far calls (i.e., beyond the 30-bit limit in call instructions). * As a side-effect, this allows us to unify and clean up the mmap() call and code around it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7381 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/JIT/JITEmitter.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp index 9e62f13ce73..476ca45a229 100644 --- a/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -76,20 +76,16 @@ static void *getMemory(unsigned NumPages) { /* Linux and *BSD tend to have these flags named differently. */ #if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) # define MAP_ANONYMOUS MAP_ANON -#endif - pa = mmap(0, pageSize*NumPages, PROT_READ|PROT_WRITE|PROT_EXEC, - MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); /* fd = 0 */ +#endif /* defined(MAP_ANON) && !defined(MAP_ANONYMOUS) */ +#define fd 0 #elif defined(sparc) || defined(__sparc__) || defined(__sparcv9) - static unsigned long Counter = 0; - pa = mmap((void*)(0x140000000UL+Counter), pageSize*NumPages, - PROT_READ|PROT_WRITE|PROT_EXEC, - MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, -1, 0); /* fd = -1 */ - Counter += pageSize*NumPages; +#define fd -1 #else - std::cerr << "This architecture is not supported by the JIT\n"; + std::cerr << "This architecture is not supported by the JIT!\n"; abort(); #endif - + pa = mmap(0, pageSize*NumPages, PROT_READ|PROT_WRITE|PROT_EXEC, + MAP_PRIVATE|MAP_ANONYMOUS, fd, 0); if (pa == MAP_FAILED) { perror("mmap"); abort();