Skip to content

Commit c9ecedd

Browse files
committed
8365594: Strengthen Universe klasses asserts to catch bootstrapping errors earlier
Reviewed-by: coleenp, ayang
1 parent 2a16cc8 commit c9ecedd

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/hotspot/share/memory/oopFactory.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ typeArrayOop oopFactory::new_longArray(int length, TRAPS) {
7373

7474
// create java.lang.Object[]
7575
objArrayOop oopFactory::new_objectArray(int length, TRAPS) {
76-
assert(Universe::objectArrayKlass() != nullptr, "Too early?");
7776
return Universe::objectArrayKlass()->allocate_instance(length, THREAD);
7877
}
7978

src/hotspot/share/memory/universe.hpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,15 +185,24 @@ class Universe: AllStatic {
185185
static TypeArrayKlass* floatArrayKlass() { return typeArrayKlass(T_FLOAT); }
186186
static TypeArrayKlass* doubleArrayKlass() { return typeArrayKlass(T_DOUBLE); }
187187

188-
static ObjArrayKlass* objectArrayKlass() { return _objectArrayKlass; }
188+
static ObjArrayKlass* objectArrayKlass() {
189+
ObjArrayKlass* k = _objectArrayKlass;
190+
assert(k != nullptr, "Object array klass should be initialized; too early?");
191+
return k;
192+
}
189193

190-
static Klass* fillerArrayKlass() { return _fillerArrayKlass; }
194+
static Klass* fillerArrayKlass() {
195+
Klass* k = _fillerArrayKlass;
196+
assert(k != nullptr, "Filler array class should be initialized; too early?");
197+
return k;
198+
}
191199

192200
static TypeArrayKlass* typeArrayKlass(BasicType t) {
193201
assert((uint)t >= T_BOOLEAN, "range check for type: %s", type2name(t));
194202
assert((uint)t < T_LONG+1, "range check for type: %s", type2name(t));
195-
assert(_typeArrayKlasses[t] != nullptr, "domain check");
196-
return _typeArrayKlasses[t];
203+
TypeArrayKlass* k = _typeArrayKlasses[t];
204+
assert(k != nullptr, "Type array class should be initialized; too early?");
205+
return k;
197206
}
198207

199208
// Known objects in the VM

0 commit comments

Comments
 (0)