equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2001, 2015, 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. |
187 virtual void do_oop(narrowOop* p); |
187 virtual void do_oop(narrowOop* p); |
188 inline void do_oop_nv(oop* p); |
188 inline void do_oop_nv(oop* p); |
189 inline void do_oop_nv(narrowOop* p); |
189 inline void do_oop_nv(narrowOop* p); |
190 }; |
190 }; |
191 |
191 |
192 class VerifyOopClosure: public OopClosure { |
|
193 protected: |
|
194 template <class T> inline void do_oop_work(T* p) { |
|
195 oop obj = oopDesc::load_decode_heap_oop(p); |
|
196 guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, p2i((oopDesc*) obj))); |
|
197 } |
|
198 public: |
|
199 virtual void do_oop(oop* p); |
|
200 virtual void do_oop(narrowOop* p); |
|
201 static VerifyOopClosure verify_oop; |
|
202 }; |
|
203 |
|
204 #endif // SHARE_VM_MEMORY_GENOOPCLOSURES_HPP |
192 #endif // SHARE_VM_MEMORY_GENOOPCLOSURES_HPP |