8073387: Move VerifyOopClosures out from genOopClosures.hpp

Reviewed-by: brutisso, mgerdin, coleenp
This commit is contained in:
Stefan Karlsson 2015-02-18 08:57:29 +01:00
parent d7f5fccbc6
commit 2e888853a1
8 changed files with 54 additions and 16 deletions

View file

@ -26,6 +26,7 @@
#include "classfile/altHashing.hpp"
#include "classfile/javaClasses.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/verifyOopClosure.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/thread.inline.hpp"
#include "utilities/copy.hpp"
@ -120,6 +121,11 @@ unsigned int oopDesc::new_hash(juint seed) {
VerifyOopClosure VerifyOopClosure::verify_oop;
template <class T> void VerifyOopClosure::do_oop_work(T* p) {
oop obj = oopDesc::load_decode_heap_oop(p);
guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, p2i((oopDesc*) obj)));
}
void VerifyOopClosure::do_oop(oop* p) { VerifyOopClosure::do_oop_work(p); }
void VerifyOopClosure::do_oop(narrowOop* p) { VerifyOopClosure::do_oop_work(p); }