8073388: Get rid of the depenecy from handles.hpp to oop.inline.hpp

Reviewed-by: mgerdin, coleenp
This commit is contained in:
Stefan Karlsson 2015-02-18 09:22:37 +01:00
parent 2e888853a1
commit 0241e477f1
5 changed files with 17 additions and 5 deletions

View file

@ -26,6 +26,7 @@
#define SHARE_VM_CI_CIKLASS_HPP
#include "ci/ciType.hpp"
#include "oops/klass.hpp"
// ciKlass
//

View file

@ -26,6 +26,8 @@
#define SHARE_VM_CLASSFILE_CLASSLOADEREXT_HPP
#include "classfile/classLoader.hpp"
#include "oops/instanceKlass.hpp"
#include "runtime/handles.hpp"
class ClassLoaderExt: public ClassLoader { // AllStatic
public:

View file

@ -26,6 +26,7 @@
#include "classfile/classLoaderData.hpp"
#include "memory/cardTableRS.hpp"
#include "memory/genRemSet.hpp"
#include "oops/klass.hpp"
// This kind of "BarrierSet" allows a "CollectedHeap" to detect and
// enumerate ref fields that have been modified (since the last

View file

@ -214,4 +214,8 @@ ResetNoHandleMark::~ResetNoHandleMark() {
area->_no_handle_mark_nesting = _no_handle_mark_nesting;
}
bool instanceKlassHandle::is_instanceKlass(const Klass* k) {
return k->oop_is_instance();
}
#endif

View file

@ -25,7 +25,11 @@
#ifndef SHARE_VM_RUNTIME_HANDLES_HPP
#define SHARE_VM_RUNTIME_HANDLES_HPP
#include "oops/klass.hpp"
#include "oops/oop.hpp"
#include "oops/oopsHierarchy.hpp"
class InstanceKlass;
class Klass;
//------------------------------------------------------------------------------------------------------------------------
// In order to preserve oops during garbage collection, they should be
@ -201,16 +205,16 @@ class instanceKlassHandle : public KlassHandle {
/* Constructors */
instanceKlassHandle () : KlassHandle() {}
instanceKlassHandle (const Klass* k) : KlassHandle(k) {
assert(k == NULL || k->oop_is_instance(),
"illegal type");
assert(k == NULL || is_instanceKlass(k), "illegal type");
}
instanceKlassHandle (Thread* thread, const Klass* k) : KlassHandle(thread, k) {
assert(k == NULL || k->oop_is_instance(),
"illegal type");
assert(k == NULL || is_instanceKlass(k), "illegal type");
}
/* Access to klass part */
InstanceKlass* operator () () const { return (InstanceKlass*)obj(); }
InstanceKlass* operator -> () const { return (InstanceKlass*)obj(); }
debug_only(bool is_instanceKlass(const Klass* k));
};