< prev index next >
src/hotspot/share/oops/klass.inline.hpp
Print this page
@@ -58,10 +58,12 @@
inline narrowKlass Klass::encode_klass(Klass* v) {
return is_null(v) ? (narrowKlass)0 : encode_klass_not_null(v);
}
inline Klass* Klass::decode_klass_not_null(narrowKlass v) {
+ if (is_null(v))
+ assert(!is_null(v), "narrow klass value can never be zero");
assert(!is_null(v), "narrow klass value can never be zero");
int shift = Universe::narrow_klass_shift();
Klass* result = (Klass*)(void*)((uintptr_t)Universe::narrow_klass_base() + ((uintptr_t)v << shift));
assert(check_klass_alignment(result), "address not aligned: " INTPTR_FORMAT, p2i((void*) result));
return result;
< prev index next >