comparison src/share/vm/oops/instanceKlass.cpp @ 17799:752ba2e5f6d0

Merge
author kvn
date Tue, 25 Feb 2014 15:11:18 -0800
parents a9becfeecd1b 85318d1fe8fe
children 62c54fcc0a35
comparison
equal deleted inserted replaced
17798:f040cf9fc9c0 17799:752ba2e5f6d0
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
3182 public: 3182 public:
3183 virtual void do_oop(oop* p) { VerifyFieldClosure::do_oop_work(p); } 3183 virtual void do_oop(oop* p) { VerifyFieldClosure::do_oop_work(p); }
3184 virtual void do_oop(narrowOop* p) { VerifyFieldClosure::do_oop_work(p); } 3184 virtual void do_oop(narrowOop* p) { VerifyFieldClosure::do_oop_work(p); }
3185 }; 3185 };
3186 3186
3187 void InstanceKlass::verify_on(outputStream* st, bool check_dictionary) { 3187 void InstanceKlass::verify_on(outputStream* st) {
3188 #ifndef PRODUCT 3188 #ifndef PRODUCT
3189 // Avoid redundant verifies, this really should be in product. 3189 // Avoid redundant verifies, this really should be in product.
3190 if (_verify_count == Universe::verify_count()) return; 3190 if (_verify_count == Universe::verify_count()) return;
3191 _verify_count = Universe::verify_count(); 3191 _verify_count = Universe::verify_count();
3192 #endif 3192 #endif
3193 3193
3194 // Verify Klass 3194 // Verify Klass
3195 Klass::verify_on(st, check_dictionary); 3195 Klass::verify_on(st);
3196 3196
3197 // Verify that klass is present in SystemDictionary if not already 3197 // Verify that klass is present in ClassLoaderData
3198 // verifying the SystemDictionary. 3198 guarantee(class_loader_data()->contains_klass(this),
3199 if (is_loaded() && !is_anonymous() && check_dictionary) { 3199 "this class isn't found in class loader data");
3200 Symbol* h_name = name();
3201 SystemDictionary::verify_obj_klass_present(h_name, class_loader_data());
3202 }
3203 3200
3204 // Verify vtables 3201 // Verify vtables
3205 if (is_linked()) { 3202 if (is_linked()) {
3206 ResourceMark rm; 3203 ResourceMark rm;
3207 // $$$ This used to be done only for m/s collections. Doing it 3204 // $$$ This used to be done only for m/s collections. Doing it