< prev index next >

src/hotspot/share/gc/parallel/mutableNUMASpace.cpp

Print this page

        

@@ -23,10 +23,11 @@
  */
 
 #include "precompiled.hpp"
 #include "gc/parallel/mutableNUMASpace.hpp"
 #include "gc/shared/collectedHeap.hpp"
+#include "gc/shared/fill.hpp"
 #include "gc/shared/spaceDecorator.hpp"
 #include "memory/allocation.inline.hpp"
 #include "oops/oop.inline.hpp"
 #include "runtime/atomic.hpp"
 #include "runtime/thread.inline.hpp"

@@ -93,15 +94,15 @@
     if (s->top() < top()) { // For all spaces preceding the one containing top()
       if (s->free_in_words() > 0) {
         HeapWord* cur_top = s->top();
         size_t words_left_to_fill = pointer_delta(s->end(), s->top());;
         while (words_left_to_fill > 0) {
-          size_t words_to_fill = MIN2(words_left_to_fill, CollectedHeap::filler_array_max_size());
-          assert(words_to_fill >= CollectedHeap::min_fill_size(),
+          size_t words_to_fill = MIN2(words_left_to_fill, Fill::max_size());
+          assert(words_to_fill >= Fill::min_size(),
                  "Remaining size (" SIZE_FORMAT ") is too small to fill (based on " SIZE_FORMAT " and " SIZE_FORMAT ")",
-                 words_to_fill, words_left_to_fill, CollectedHeap::filler_array_max_size());
-          CollectedHeap::fill_with_object(cur_top, words_to_fill);
+                 words_to_fill, words_left_to_fill, Fill::max_size());
+          Fill::range(cur_top, words_to_fill);
           if (!os::numa_has_static_binding()) {
             size_t touched_words = words_to_fill;
 #ifndef ASSERT
             if (!ZapUnusedHeapArea) {
               touched_words = MIN2((size_t)align_object_size(typeArrayOopDesc::header_size(T_INT)),

@@ -733,14 +734,14 @@
     if (s->contains(value)) {
       // Check if setting the chunk's top to a given value would create a hole less than
       // a minimal object; assuming that's not the last chunk in which case we don't care.
       if (i < lgrp_spaces()->length() - 1) {
         size_t remainder = pointer_delta(s->end(), value);
-        const size_t min_fill_size = CollectedHeap::min_fill_size();
+        const size_t min_fill_size = Fill::min_size();
         if (remainder < min_fill_size && remainder > 0) {
           // Add a minimum size filler object; it will cross the chunk boundary.
-          CollectedHeap::fill_with_object(value, min_fill_size);
+          Fill::range(value, min_fill_size);
           value += min_fill_size;
           assert(!s->contains(value), "Should be in the next chunk");
           // Restart the loop from the same chunk, since the value has moved
           // to the next one.
           continue;

@@ -807,11 +808,11 @@
   MutableSpace *s = ls->space();
   HeapWord *p = s->allocate(size);
 
   if (p != NULL) {
     size_t remainder = s->free_in_words();
-    if (remainder < CollectedHeap::min_fill_size() && remainder > 0) {
+    if (remainder < Fill::min_size() && remainder > 0) {
       s->set_top(s->top() - size);
       p = NULL;
     }
   }
   if (p != NULL) {

@@ -849,11 +850,11 @@
   LGRPSpace *ls = lgrp_spaces()->at(i);
   MutableSpace *s = ls->space();
   HeapWord *p = s->cas_allocate(size);
   if (p != NULL) {
     size_t remainder = pointer_delta(s->end(), p + size);
-    if (remainder < CollectedHeap::min_fill_size() && remainder > 0) {
+    if (remainder < Fill::min_size() && remainder > 0) {
       if (s->cas_deallocate(p, size)) {
         // We were the last to allocate and created a fragment less than
         // a minimal object.
         p = NULL;
       } else {
< prev index next >