[llvm-commits] CVS: llvm/tools/lli/JIT/SparcEmitter.cpp
Brian Gaeke
gaeke at cs.uiuc.edu
Thu May 29 22:38:01 PDT 2003
Changes in directory llvm/tools/lli/JIT:
SparcEmitter.cpp updated: 1.2 -> 1.3
---
Log message:
Fix call to mmap, so that it can be used on sparc.
---
Diffs of the changes:
Index: llvm/tools/lli/JIT/SparcEmitter.cpp
diff -u llvm/tools/lli/JIT/SparcEmitter.cpp:1.2 llvm/tools/lli/JIT/SparcEmitter.cpp:1.3
--- llvm/tools/lli/JIT/SparcEmitter.cpp:1.2 Wed May 28 13:44:38 2003
+++ llvm/tools/lli/JIT/SparcEmitter.cpp Thu May 29 22:37:13 2003
@@ -77,20 +77,15 @@
// FIXME: This should be rewritten to support a real memory manager for
// executable memory pages!
void * SparcEmitter::getMemory(unsigned NumPages) {
-#if 0
- void *pa = mmap(0, 4096*NumPages, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
+ void *pa;
+ if (NumPages == 0) return 0;
+ static const long pageSize = sysconf (_SC_PAGESIZE);
+ pa = mmap(0, pageSize*NumPages, PROT_READ|PROT_WRITE|PROT_EXEC,
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (pa == MAP_FAILED) {
perror("mmap");
abort();
}
-#endif
- void *pa = malloc(4096*NumPages);
- if (!pa) {
- perror("malloc");
- abort();
- }
- funcMemory.push_back(pa);
return pa;
}
More information about the llvm-commits
mailing list