diff src/share/vm/graal/graalCompiler.cpp @ 7115:1c76a458616e

simplified TLAB allocation (don't use + and -)
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 30 Nov 2012 12:08:38 +0100
parents eec7173947a1
children 1baf7f1e3f23
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompiler.cpp	Fri Nov 30 11:13:36 2012 +0100
+++ b/src/share/vm/graal/graalCompiler.cpp	Fri Nov 30 12:08:38 2012 +0100
@@ -49,6 +49,11 @@
   JavaThread* THREAD = JavaThread::current();
   TRACE_graal_1("GraalCompiler::initialize");
 
+  unsigned long heap_end = (long) Universe::heap()->reserved_region().end();
+  unsigned long allocation_end = heap_end + 16l * 1024 * 1024 * 1024;
+  guarantee(heap_end < allocation_end, "heap end too close to end of address space (might lead to erroneous TLAB allocations)");
+  NOT_LP64(error("check TLAB allocation code for address space conflicts"));
+
   _deopted_leaf_graph_count = 0;
 
   initialize_buffer_blob();