--- a/hotspot/src/share/vm/classfile/javaClasses.cpp Tue Feb 10 17:16:17 2015 +0100
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp Fri Feb 13 14:37:35 2015 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -24,7 +24,7 @@
#include "precompiled.hpp"
#include "classfile/altHashing.hpp"
-#include "classfile/javaClasses.hpp"
+#include "classfile/javaClasses.inline.hpp"
#include "classfile/stringTable.hpp"
#include "classfile/vmSymbols.hpp"
#include "code/debugInfo.hpp"
@@ -39,6 +39,8 @@
#include "oops/instanceMirrorKlass.hpp"
#include "oops/klass.hpp"
#include "oops/method.hpp"
+#include "oops/objArrayOop.inline.hpp"
+#include "oops/oop.inline.hpp"
#include "oops/symbol.hpp"
#include "oops/typeArrayOop.hpp"
#include "prims/jvmtiRedefineClassesTrace.hpp"
@@ -149,6 +151,10 @@
bool java_lang_String::initialized = false;
+bool java_lang_String::is_instance(oop obj) {
+ return is_instance_inlined(obj);
+}
+
void java_lang_String::compute_offsets() {
assert(!initialized, "offsets should be initialized only once");
@@ -2730,6 +2736,11 @@
}
}
+bool java_lang_invoke_LambdaForm::is_instance(oop obj) {
+ return obj != NULL && is_subclass(obj->klass());
+}
+
+
oop java_lang_invoke_MethodHandle::type(oop mh) {
return mh->obj_field(_type_offset);
}
@@ -3076,6 +3087,10 @@
return false;
}
+bool java_lang_ClassLoader::is_instance(oop obj) {
+ return obj != NULL && is_subclass(obj->klass());
+}
+
// For class loader classes, parallelCapable defined
// based on non-null field