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 "memory/iterator.hpp" 27 #include "oops/oop.inline.hpp" 28 29 void KlassToOopClosure::do_klass(Klass* k) { 30 k->oops_do(_oop_closure); 31 } 32 33 void ObjectToOopClosure::do_object(oop obj) { 34 obj->oop_iterate(_cl); 35 } 36 37 void VoidClosure::do_void() { 38 ShouldNotCallThis(); 39 } 40 41 MarkingCodeBlobClosure::MarkScope::MarkScope(bool activate) 42 : _active(activate) 43 { 44 if (_active) nmethod::oops_do_marking_prologue(); 45 } 46 47 MarkingCodeBlobClosure::MarkScope::~MarkScope() { 48 if (_active) nmethod::oops_do_marking_epilogue(); 49 } 50 51 void MarkingCodeBlobClosure::do_code_blob(CodeBlob* cb) { 52 nmethod* nm = cb->as_nmethod_or_null(); | 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 "memory/iterator.hpp" 27 #include "oops/oop.inline.hpp" 28 29 void KlassToOopClosure::do_klass(Klass* k) { 30 k->oops_do(_oop_closure); 31 } 32 33 void CLDToOopClosure::do_cld(ClassLoaderData* cld) { 34 cld->oops_do(_oop_closure, _klass_closure, _must_claim_cld); 35 } 36 37 void ObjectToOopClosure::do_object(oop obj) { 38 obj->oop_iterate(_cl); 39 } 40 41 void VoidClosure::do_void() { 42 ShouldNotCallThis(); 43 } 44 45 MarkingCodeBlobClosure::MarkScope::MarkScope(bool activate) 46 : _active(activate) 47 { 48 if (_active) nmethod::oops_do_marking_prologue(); 49 } 50 51 MarkingCodeBlobClosure::MarkScope::~MarkScope() { 52 if (_active) nmethod::oops_do_marking_epilogue(); 53 } 54 55 void MarkingCodeBlobClosure::do_code_blob(CodeBlob* cb) { 56 nmethod* nm = cb->as_nmethod_or_null(); |