[vmkit-commits] [vmkit] r135878 - in /vmkit/trunk/mmtk: mmtk-alloc/Selected.cpp mmtk-j3/Memory.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Jul 24 11:03:28 PDT 2011
Author: geoffray
Date: Sun Jul 24 13:03:28 2011
New Revision: 135878
URL: http://llvm.org/viewvc/llvm-project?rev=135878&view=rev
Log:
Move code that depends on the memory begin/end of MMTk in one place.
Modified:
vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp
vmkit/trunk/mmtk/mmtk-j3/Memory.cpp
Modified: vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp?rev=135878&r1=135877&r2=135878&view=diff
==============================================================================
--- vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp Sun Jul 24 13:03:28 2011
@@ -157,20 +157,6 @@
}
void Collector::initialise() {
- // Allocate the memory for MMTk right now, to avoid conflicts with
- // other allocators.
-#if defined (__MACH__)
- uint32 flags = MAP_PRIVATE | MAP_ANON | MAP_FIXED;
-#else
- uint32 flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED;
-#endif
- void* baseAddr = mmap((void*)0x60000000, 0x30000000, PROT_READ | PROT_WRITE,
- flags, -1, 0);
- if (baseAddr == MAP_FAILED) {
- perror("mmap");
- abort();
- }
-
JnJVM_org_j3_bindings_Bindings_boot__Lorg_vmmagic_unboxed_Extent_2Lorg_vmmagic_unboxed_Extent_2(128 * 1024 * 1024, 1024 * 1024 * 1024);
}
Modified: vmkit/trunk/mmtk/mmtk-j3/Memory.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-j3/Memory.cpp?rev=135878&r1=135877&r2=135878&view=diff
==============================================================================
--- vmkit/trunk/mmtk/mmtk-j3/Memory.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-j3/Memory.cpp Sun Jul 24 13:03:28 2011
@@ -15,20 +15,43 @@
namespace mmtk {
+static const uintptr_t MemoryStart = 0x50000000;
+static const uintptr_t MemorySize = 0x40000000;
+
+class InitCollector {
+public:
+ InitCollector() {
+#if defined (__MACH__)
+ uint32 flags = MAP_PRIVATE | MAP_ANON | MAP_FIXED;
+#else
+ uint32 flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED;
+#endif
+ void* baseAddr = mmap((void*)MemoryStart, MemorySize, PROT_READ | PROT_WRITE,
+ flags, -1, 0);
+ if (baseAddr == MAP_FAILED) {
+ perror("mmap");
+ abort();
+ }
+ }
+};
+
+// Allocate the memory for MMTk right now, to avoid conflicts with other allocators.
+InitCollector initCollector;
+
extern "C" uintptr_t Java_org_j3_mmtk_Memory_getHeapStartConstant__ (MMTkObject* M) {
- return (uintptr_t)0x60000000;
+ return MemoryStart;
}
extern "C" uintptr_t Java_org_j3_mmtk_Memory_getHeapEndConstant__ (MMTkObject* M) {
- return (uintptr_t)0x90000000;
+ return MemoryStart + MemorySize;
}
extern "C" uintptr_t Java_org_j3_mmtk_Memory_getAvailableStartConstant__ (MMTkObject* M) {
- return (uintptr_t)0x60000000;
+ return Java_org_j3_mmtk_Memory_getHeapStartConstant__ (M);
}
extern "C" uintptr_t Java_org_j3_mmtk_Memory_getAvailableEndConstant__ (MMTkObject* M) {
- return (uintptr_t)0x90000000;
+ return Java_org_j3_mmtk_Memory_getHeapEndConstant__ (M);
}
extern "C" sint32
More information about the vmkit-commits
mailing list