8160399: is_oop_or_null involves undefined behavior

8164984: Improper use of is_oop in production code

Replace oop->is_oop*() with oopDesc::is_oop*(oop) so this pointer can be verified

Reviewed-by: iklam, kvn, dholmes
This commit is contained in:
Coleen Phillimore 2017-08-23 14:52:55 -04:00
parent 61a9f88ca7
commit 3d6d1ec64b
61 changed files with 195 additions and 209 deletions

View file

@ -498,6 +498,6 @@ void ObjArrayKlass::oop_verify_on(oop obj, outputStream* st) {
guarantee(obj->is_objArray(), "must be objArray");
objArrayOop oa = objArrayOop(obj);
for(int index = 0; index < oa->length(); index++) {
guarantee(oa->obj_at(index)->is_oop_or_null(), "should be oop");
guarantee(oopDesc::is_oop_or_null(oa->obj_at(index)), "should be oop");
}
}