8025059: Metspace::should_expand mixes bytes and words in check against MaxMetaspaceSize
authorstefank
Fri, 20 Sep 2013 11:00:38 +0200
changeset 20080 bd8cf4788384
parent 20079 edbc2f7b38ef
child 20081 e26536e86a5c
8025059: Metspace::should_expand mixes bytes and words in check against MaxMetaspaceSize Reviewed-by: coleenp, brutisso, mgerdin, jmasa
hotspot/src/share/vm/memory/metaspace.cpp
--- a/hotspot/src/share/vm/memory/metaspace.cpp	Fri Sep 20 10:53:28 2013 +0200
+++ b/hotspot/src/share/vm/memory/metaspace.cpp	Fri Sep 20 11:00:38 2013 +0200
@@ -1342,8 +1342,9 @@
   // reserved space, because this is a larger space prereserved for compressed
   // class pointers.
   if (!FLAG_IS_DEFAULT(MaxMetaspaceSize)) {
-    size_t real_allocated = Metaspace::space_list()->reserved_words() +
-              MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
+    size_t nonclass_allocated = MetaspaceAux::reserved_bytes(Metaspace::NonClassType);
+    size_t class_allocated    = MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
+    size_t real_allocated     = nonclass_allocated + class_allocated;
     if (real_allocated >= MaxMetaspaceSize) {
       return false;
     }