src/share/vm/gc/parallel/pcTasks.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File webrev Sdiff src/share/vm/gc/parallel

src/share/vm/gc/parallel/pcTasks.hpp

Print this page


   1 /*
   2  * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   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  *


  77 
  78   virtual void do_it(GCTaskManager* manager, uint which);
  79 };
  80 
  81 
  82 //
  83 // MarkFromRootsTask
  84 //
  85 // This task marks from all the roots to all live
  86 // objects.
  87 //
  88 //
  89 
  90 class MarkFromRootsTask : public GCTask {
  91  public:
  92   enum RootType {
  93     universe              = 1,
  94     jni_handles           = 2,
  95     threads               = 3,
  96     object_synchronizer   = 4,
  97     flat_profiler         = 5,
  98     management            = 6,
  99     jvmti                 = 7,
 100     system_dictionary     = 8,
 101     class_loader_data     = 9,
 102     code_cache            = 10
 103   };
 104  private:
 105   RootType _root_type;
 106  public:
 107   MarkFromRootsTask(RootType value) : _root_type(value) {}
 108 
 109   char* name() { return (char *)"mark-from-roots-task"; }
 110 
 111   virtual void do_it(GCTaskManager* manager, uint which);
 112 };
 113 
 114 //
 115 // RefProcTaskProxy
 116 //
 117 // This task is used as a proxy to parallel reference processing tasks .
 118 //
 119 
 120 class RefProcTaskProxy : public GCTask {
 121   typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask;
 122   ProcessTask & _rp_task;


   1 /*
   2  * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   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  *


  77 
  78   virtual void do_it(GCTaskManager* manager, uint which);
  79 };
  80 
  81 
  82 //
  83 // MarkFromRootsTask
  84 //
  85 // This task marks from all the roots to all live
  86 // objects.
  87 //
  88 //
  89 
  90 class MarkFromRootsTask : public GCTask {
  91  public:
  92   enum RootType {
  93     universe              = 1,
  94     jni_handles           = 2,
  95     threads               = 3,
  96     object_synchronizer   = 4,
  97     management            = 5,
  98     jvmti                 = 6,
  99     system_dictionary     = 7,
 100     class_loader_data     = 8,
 101     code_cache            = 9

 102   };
 103  private:
 104   RootType _root_type;
 105  public:
 106   MarkFromRootsTask(RootType value) : _root_type(value) {}
 107 
 108   char* name() { return (char *)"mark-from-roots-task"; }
 109 
 110   virtual void do_it(GCTaskManager* manager, uint which);
 111 };
 112 
 113 //
 114 // RefProcTaskProxy
 115 //
 116 // This task is used as a proxy to parallel reference processing tasks .
 117 //
 118 
 119 class RefProcTaskProxy : public GCTask {
 120   typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask;
 121   ProcessTask & _rp_task;


src/share/vm/gc/parallel/pcTasks.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File