src/share/vm/oops/oop.hpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -20,24 +20,32 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
+#ifndef SHARE_VM_OOPS_OOP_HPP
+#define SHARE_VM_OOPS_OOP_HPP
+
+#include "memory/iterator.hpp"
+#include "memory/memRegion.hpp"
+#include "memory/specialized_oop_closures.hpp"
+#include "utilities/top.hpp"
+
// oopDesc is the top baseclass for objects classes. The {name}Desc classes describe
// the format of Java objects so the fields can be accessed from C++.
// oopDesc is abstract.
// (see oopHierarchy for complete oop class hierarchy)
//
// no virtual functions allowed
// store into oop with store check
-template <class T> inline void oop_store(T* p, oop v);
-template <class T> inline void oop_store(volatile T* p, oop v);
+template <class T> void oop_store(T* p, oop v);
+template <class T> void oop_store(volatile T* p, oop v);
// store into oop without store check
-template <class T> inline void oop_store_without_check(T* p, oop v);
-template <class T> inline void oop_store_without_check(volatile T* p, oop v);
+template <class T> void oop_store_without_check(T* p, oop v);
+template <class T> void oop_store_without_check(volatile T* p, oop v);
extern bool always_do_update_barrier;
// Forward declarations.
class OopClosure;
@@ -401,5 +409,7 @@
// for code generation
static int mark_offset_in_bytes() { return offset_of(oopDesc, _mark); }
static int klass_offset_in_bytes() { return offset_of(oopDesc, _metadata._klass); }
static int klass_gap_offset_in_bytes();
};
+
+#endif // SHARE_VM_OOPS_OOP_HPP