< prev index next >

src/share/vm/gc/parallel/parallelScavengeHeap.cpp

Print this page
rev 13281 : [mq]: CollectedHeap_register_nmethod_v2


   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"

  26 #include "gc/parallel/adjoiningGenerations.hpp"
  27 #include "gc/parallel/adjoiningVirtualSpaces.hpp"
  28 #include "gc/parallel/cardTableExtension.hpp"
  29 #include "gc/parallel/gcTaskManager.hpp"
  30 #include "gc/parallel/generationSizer.hpp"
  31 #include "gc/parallel/objectStartArray.inline.hpp"
  32 #include "gc/parallel/parallelScavengeHeap.inline.hpp"
  33 #include "gc/parallel/psAdaptiveSizePolicy.hpp"
  34 #include "gc/parallel/psMarkSweep.hpp"
  35 #include "gc/parallel/psParallelCompact.inline.hpp"
  36 #include "gc/parallel/psPromotionManager.hpp"
  37 #include "gc/parallel/psScavenge.hpp"
  38 #include "gc/parallel/vmPSOperations.hpp"
  39 #include "gc/shared/gcHeapSummary.hpp"
  40 #include "gc/shared/gcLocker.inline.hpp"
  41 #include "gc/shared/gcWhen.hpp"
  42 #include "logging/log.hpp"
  43 #include "oops/oop.inline.hpp"
  44 #include "runtime/handles.inline.hpp"
  45 #include "runtime/java.hpp"


 654   // nothing particular
 655 }
 656 
 657 #ifndef PRODUCT
 658 void ParallelScavengeHeap::record_gen_tops_before_GC() {
 659   if (ZapUnusedHeapArea) {
 660     young_gen()->record_spaces_top();
 661     old_gen()->record_spaces_top();
 662   }
 663 }
 664 
 665 void ParallelScavengeHeap::gen_mangle_unused_area() {
 666   if (ZapUnusedHeapArea) {
 667     young_gen()->eden_space()->mangle_unused_area();
 668     young_gen()->to_space()->mangle_unused_area();
 669     young_gen()->from_space()->mangle_unused_area();
 670     old_gen()->object_space()->mangle_unused_area();
 671   }
 672 }
 673 #endif










   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "code/codeCache.hpp"
  27 #include "gc/parallel/adjoiningGenerations.hpp"
  28 #include "gc/parallel/adjoiningVirtualSpaces.hpp"
  29 #include "gc/parallel/cardTableExtension.hpp"
  30 #include "gc/parallel/gcTaskManager.hpp"
  31 #include "gc/parallel/generationSizer.hpp"
  32 #include "gc/parallel/objectStartArray.inline.hpp"
  33 #include "gc/parallel/parallelScavengeHeap.inline.hpp"
  34 #include "gc/parallel/psAdaptiveSizePolicy.hpp"
  35 #include "gc/parallel/psMarkSweep.hpp"
  36 #include "gc/parallel/psParallelCompact.inline.hpp"
  37 #include "gc/parallel/psPromotionManager.hpp"
  38 #include "gc/parallel/psScavenge.hpp"
  39 #include "gc/parallel/vmPSOperations.hpp"
  40 #include "gc/shared/gcHeapSummary.hpp"
  41 #include "gc/shared/gcLocker.inline.hpp"
  42 #include "gc/shared/gcWhen.hpp"
  43 #include "logging/log.hpp"
  44 #include "oops/oop.inline.hpp"
  45 #include "runtime/handles.inline.hpp"
  46 #include "runtime/java.hpp"


 655   // nothing particular
 656 }
 657 
 658 #ifndef PRODUCT
 659 void ParallelScavengeHeap::record_gen_tops_before_GC() {
 660   if (ZapUnusedHeapArea) {
 661     young_gen()->record_spaces_top();
 662     old_gen()->record_spaces_top();
 663   }
 664 }
 665 
 666 void ParallelScavengeHeap::gen_mangle_unused_area() {
 667   if (ZapUnusedHeapArea) {
 668     young_gen()->eden_space()->mangle_unused_area();
 669     young_gen()->to_space()->mangle_unused_area();
 670     young_gen()->from_space()->mangle_unused_area();
 671     old_gen()->object_space()->mangle_unused_area();
 672   }
 673 }
 674 #endif
 675 
 676 void ParallelScavengeHeap::register_nmethod(nmethod* nm) {
 677   CodeCache::register_scavenge_root_nmethod(nm);
 678 }
 679 
 680 void ParallelScavengeHeap::verify_nmethod_roots(nmethod* nmethod) {
 681   nmethod->verify_scavenge_root_oops();
 682 }
< prev index next >