annotate src/share/vm/oops/instanceClassLoaderKlass.cpp @ 6862:8a5ea0a9ccc4

7127708: G1: change task num types from int to uint in concurrent mark Summary: Change the type of various task num fields, parameters etc to unsigned and rename them to be more consistent with the other collectors. Code changes were also reviewed by Vitaly Davidovich. Reviewed-by: johnc Contributed-by: Kaushik Srenevasan <kaushik@twitter.com>
author johnc
date Sat, 06 Oct 2012 01:17:44 -0700
parents aed758eda82a
children db9981fd3124
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
1 /*
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
2 * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
4 *
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
7 * published by the Free Software Foundation.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
8 *
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
13 * accompanied this code).
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
14 *
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
18 *
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
21 * questions.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
22 *
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
23 */
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
24
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
25 #include "precompiled.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
26 #include "classfile/javaClasses.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
27 #include "classfile/systemDictionary.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
28 #include "gc_implementation/shared/markSweep.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
29 #include "gc_interface/collectedHeap.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
30 #include "memory/genOopClosures.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
31 #include "memory/oopFactory.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
32 #include "oops/instanceKlass.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
33 #include "oops/instanceClassLoaderKlass.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
34 #include "oops/instanceMirrorKlass.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
35 #include "oops/instanceOop.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
36 #include "oops/oop.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
37 #include "oops/symbol.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
38 #include "runtime/handles.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
39 #ifndef SERIALGC
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
40 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
41 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
42 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
43 #include "oops/oop.pcgc.inline.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
44 #endif
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
45
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
46 #define if_do_metadata_checked(closure, nv_suffix) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
47 /* Make sure the non-virtual and the virtual versions match. */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
48 assert(closure->do_metadata##nv_suffix() == closure->do_metadata(), \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
49 "Inconsistency in do_metadata"); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
50 if (closure->do_metadata##nv_suffix())
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
51
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
52 // Macro to define InstanceClassLoaderKlass::oop_oop_iterate for virtual/nonvirtual for
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
53 // all closures. Macros calling macros above for each oop size.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
54 // Since ClassLoader objects have only a pointer to the loader_data, they are not
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
55 // compressed nor does the pointer move.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
56
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
57 #define InstanceClassLoaderKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix)\
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
58 \
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
59 int InstanceClassLoaderKlass:: \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
60 oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
61 /* Get size before changing pointers */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
62 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
63 int size = InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
64 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
65 if_do_metadata_checked(closure, nv_suffix) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
66 ClassLoaderData* cld = java_lang_ClassLoader::loader_data(obj); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
67 /* cld can be null if we have a non-registered class loader. */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
68 if (cld != NULL) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
69 closure->do_class_loader_data(cld); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
70 } \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
71 } \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
72 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
73 return size; \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
74 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
75
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
76 #ifndef SERIALGC
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
77 #define InstanceClassLoaderKlass_OOP_OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
78 \
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
79 int InstanceClassLoaderKlass:: \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
80 oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
81 /* Get size before changing pointers */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
82 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
83 int size = InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
84 return size; \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
85 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
86 #endif // !SERIALGC
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
87
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
88
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
89 #define InstanceClassLoaderKlass_OOP_OOP_ITERATE_DEFN_m(OopClosureType, nv_suffix) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
90 \
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
91 int InstanceClassLoaderKlass:: \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
92 oop_oop_iterate##nv_suffix##_m(oop obj, \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
93 OopClosureType* closure, \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
94 MemRegion mr) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
95 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
96 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
97 int size = InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
98 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
99 if_do_metadata_checked(closure, nv_suffix) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
100 if (mr.contains(obj)) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
101 ClassLoaderData* cld = java_lang_ClassLoader::loader_data(obj); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
102 /* cld can be null if we have a non-registered class loader. */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
103 if (cld != NULL) { \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
104 closure->do_class_loader_data(cld); \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
105 } \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
106 } \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
107 } \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
108 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
109 return size; \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
110 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
111
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
112 ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceClassLoaderKlass_OOP_OOP_ITERATE_DEFN)
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
113 ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceClassLoaderKlass_OOP_OOP_ITERATE_DEFN)
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
114 #ifndef SERIALGC
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
115 ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceClassLoaderKlass_OOP_OOP_ITERATE_BACKWARDS_DEFN)
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
116 ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceClassLoaderKlass_OOP_OOP_ITERATE_BACKWARDS_DEFN)
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
117 #endif // SERIALGC
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
118 ALL_OOP_OOP_ITERATE_CLOSURES_1(InstanceClassLoaderKlass_OOP_OOP_ITERATE_DEFN_m)
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
119 ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceClassLoaderKlass_OOP_OOP_ITERATE_DEFN_m)
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
120
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
121 void InstanceClassLoaderKlass::oop_follow_contents(oop obj) {
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
122 InstanceKlass::oop_follow_contents(obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
123 ClassLoaderData * const loader_data = java_lang_ClassLoader::loader_data(obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
124
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
125 // We must NULL check here, since the class loader
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
126 // can be found before the loader data has been set up.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
127 if(loader_data != NULL) {
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
128 MarkSweep::follow_class_loader(loader_data);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
129 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
130 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
131
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
132 #ifndef SERIALGC
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
133 void InstanceClassLoaderKlass::oop_follow_contents(ParCompactionManager* cm,
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
134 oop obj) {
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
135 InstanceKlass::oop_follow_contents(cm, obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
136 ClassLoaderData * const loader_data = java_lang_ClassLoader::loader_data(obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
137 if (loader_data != NULL) {
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
138 PSParallelCompact::follow_class_loader(cm, loader_data);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
139 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
140 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
141
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
142 void InstanceClassLoaderKlass::oop_push_contents(PSPromotionManager* pm, oop obj) {
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
143 InstanceKlass::oop_push_contents(pm, obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
144
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
145 // This is called by the young collector. It will already have taken care of
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
146 // all class loader data. So, we don't have to follow the class loader ->
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
147 // class loader data link.
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
148 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
149
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
150 int InstanceClassLoaderKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
151 InstanceKlass::oop_update_pointers(cm, obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
152 ClassLoaderData * const loader_data = java_lang_ClassLoader::loader_data(obj);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
153 if (loader_data != NULL) {
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
154 PSParallelCompact::adjust_class_loader(cm, loader_data);
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
155 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
156 return size_helper();
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
157 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
158 #endif // SERIALGC
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents:
diff changeset
159