comparison src/share/vm/memory/genOopClosures.hpp @ 3274:2a23b1b5a0a8

7018355: JSR 292: VM crash in DefNewGeneration::copy_to_survivor_space Reviewed-by: kvn, jrose
author twisti
date Mon, 18 Apr 2011 01:33:28 -0700
parents f95d63e2154a
children 8d944991dbf9
comparison
equal deleted inserted replaced
2485:97e8046e2562 3274:2a23b1b5a0a8
1 /* 1 /*
2 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
173 173
174 class VerifyOopClosure: public OopClosure { 174 class VerifyOopClosure: public OopClosure {
175 protected: 175 protected:
176 template <class T> inline void do_oop_work(T* p) { 176 template <class T> inline void do_oop_work(T* p) {
177 oop obj = oopDesc::load_decode_heap_oop(p); 177 oop obj = oopDesc::load_decode_heap_oop(p);
178 guarantee(obj->is_oop_or_null(), "invalid oop"); 178 guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, obj));
179 } 179 }
180 public: 180 public:
181 virtual void do_oop(oop* p); 181 virtual void do_oop(oop* p);
182 virtual void do_oop(narrowOop* p); 182 virtual void do_oop(narrowOop* p);
183 static VerifyOopClosure verify_oop; 183 static VerifyOopClosure verify_oop;