The following code should be removed:
diff -r efdd3044724d src/hotspot/share/opto/compile.cpp
--- a/src/hotspot/share/opto/compile.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/compile.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -4231,7 +4231,7 @@
return SSC_full_test; // Let caller generate the general case.
}
- if (!EnableValhalla && superk == env()->Object_klass()) {
+ if (superk == env()->Object_klass()) {
return SSC_always_true; // (0) this test cannot fail
}
diff -r efdd3044724d src/hotspot/share/opto/graphKit.cpp
--- a/src/hotspot/share/opto/graphKit.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/graphKit.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -2768,7 +2768,7 @@
// types load from the super-class display table which is immutable.
m = mem->memory_at(C->get_alias_index(gvn->type(p2)->is_ptr()));
Node *kmem = might_be_cache ? m : C->immutable_memory();
- Node *nkls = gvn->transform(LoadKlassNode::make(*gvn, NULL, kmem, p2, gvn->type(p2)->is_ptr(), TypeKlassPtr::BOTTOM));
+ Node *nkls = gvn->transform(LoadKlassNode::make(*gvn, NULL, kmem, p2, gvn->type(p2)->is_ptr(), TypeKlassPtr::OBJECT_OR_NULL));
// Compile speed common case: ARE a subtype and we canNOT fail
if( superklass == nkls )
diff -r efdd3044724d src/hotspot/share/opto/library_call.cpp
--- a/src/hotspot/share/opto/library_call.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/library_call.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -3269,7 +3269,7 @@
phi->add_req(makecon(TypeInstPtr::make(env()->Object_klass()->java_mirror())));
// If we fall through, it's a plain class. Get its _super.
p = basic_plus_adr(kls, in_bytes(Klass::super_offset()));
- kls = _gvn.transform(LoadKlassNode::make(_gvn, NULL, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::BOTTOM));
+ kls = _gvn.transform(LoadKlassNode::make(_gvn, NULL, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::OBJECT_OR_NULL));
null_ctl = top();
kls = null_check_oop(kls, &null_ctl);
if (null_ctl != top()) {
@@ -3421,7 +3421,7 @@
record_for_igvn(region);
const TypePtr* adr_type = TypeRawPtr::BOTTOM; // memory type of loads
- const TypeKlassPtr* kls_type = TypeKlassPtr::BOTTOM;
+ const TypeKlassPtr* kls_type = TypeKlassPtr::OBJECT_OR_NULL;
int class_klass_offset = java_lang_Class::klass_offset_in_bytes();
// First null-check both mirrors and load each mirror's klass metaobject.
diff -r efdd3044724d src/hotspot/share/opto/type.cpp
--- a/src/hotspot/share/opto/type.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/type.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -654,7 +654,6 @@
TypeKlassPtr::OBJECT = TypeKlassPtr::make(TypePtr::NotNull, current->env()->Object_klass(), Offset(0) );
TypeKlassPtr::OBJECT_OR_NULL = TypeKlassPtr::make(TypePtr::BotPTR, current->env()->Object_klass(), Offset(0) );
- TypeKlassPtr::BOTTOM = EnableValhalla ? TypeKlassPtr::make(TypePtr::BotPTR, NULL, Offset(0)) : TypeKlassPtr::OBJECT_OR_NULL;
const Type **fi2c = TypeTuple::fields(2);
fi2c[TypeFunc::Parms+0] = TypeInstPtr::BOTTOM; // Method*
@@ -5194,7 +5193,6 @@
// Not-null object klass or below
const TypeKlassPtr *TypeKlassPtr::OBJECT;
const TypeKlassPtr *TypeKlassPtr::OBJECT_OR_NULL;
-const TypeKlassPtr* TypeKlassPtr::BOTTOM;
//------------------------------TypeKlassPtr-----------------------------------
TypeKlassPtr::TypeKlassPtr( PTR ptr, ciKlass* klass, Offset offset )
diff -r efdd3044724d src/hotspot/share/opto/type.hpp
--- a/src/hotspot/share/opto/type.hpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/type.hpp Fri Dec 07 11:11:21 2018 +0100
@@ -1412,7 +1412,6 @@
// Convenience common pre-built types.
static const TypeKlassPtr* OBJECT; // Not-null object klass or below
static const TypeKlassPtr* OBJECT_OR_NULL; // Maybe-null version of same
- static const TypeKlassPtr* BOTTOM;
#ifndef PRODUCT
virtual void dump2( Dict &d, uint depth, outputStream *st ) const; // Specialized per-Type dumping
#endif
diff -r efdd3044724d src/hotspot/share/opto/compile.cpp
--- a/src/hotspot/share/opto/compile.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/compile.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -4231,7 +4231,7 @@
return SSC_full_test; // Let caller generate the general case.
}
- if (!EnableValhalla && superk == env()->Object_klass()) {
+ if (superk == env()->Object_klass()) {
return SSC_always_true; // (0) this test cannot fail
}
diff -r efdd3044724d src/hotspot/share/opto/graphKit.cpp
--- a/src/hotspot/share/opto/graphKit.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/graphKit.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -2768,7 +2768,7 @@
// types load from the super-class display table which is immutable.
m = mem->memory_at(C->get_alias_index(gvn->type(p2)->is_ptr()));
Node *kmem = might_be_cache ? m : C->immutable_memory();
- Node *nkls = gvn->transform(LoadKlassNode::make(*gvn, NULL, kmem, p2, gvn->type(p2)->is_ptr(), TypeKlassPtr::BOTTOM));
+ Node *nkls = gvn->transform(LoadKlassNode::make(*gvn, NULL, kmem, p2, gvn->type(p2)->is_ptr(), TypeKlassPtr::OBJECT_OR_NULL));
// Compile speed common case: ARE a subtype and we canNOT fail
if( superklass == nkls )
diff -r efdd3044724d src/hotspot/share/opto/library_call.cpp
--- a/src/hotspot/share/opto/library_call.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/library_call.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -3269,7 +3269,7 @@
phi->add_req(makecon(TypeInstPtr::make(env()->Object_klass()->java_mirror())));
// If we fall through, it's a plain class. Get its _super.
p = basic_plus_adr(kls, in_bytes(Klass::super_offset()));
- kls = _gvn.transform(LoadKlassNode::make(_gvn, NULL, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::BOTTOM));
+ kls = _gvn.transform(LoadKlassNode::make(_gvn, NULL, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::OBJECT_OR_NULL));
null_ctl = top();
kls = null_check_oop(kls, &null_ctl);
if (null_ctl != top()) {
@@ -3421,7 +3421,7 @@
record_for_igvn(region);
const TypePtr* adr_type = TypeRawPtr::BOTTOM; // memory type of loads
- const TypeKlassPtr* kls_type = TypeKlassPtr::BOTTOM;
+ const TypeKlassPtr* kls_type = TypeKlassPtr::OBJECT_OR_NULL;
int class_klass_offset = java_lang_Class::klass_offset_in_bytes();
// First null-check both mirrors and load each mirror's klass metaobject.
diff -r efdd3044724d src/hotspot/share/opto/type.cpp
--- a/src/hotspot/share/opto/type.cpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/type.cpp Fri Dec 07 11:11:21 2018 +0100
@@ -654,7 +654,6 @@
TypeKlassPtr::OBJECT = TypeKlassPtr::make(TypePtr::NotNull, current->env()->Object_klass(), Offset(0) );
TypeKlassPtr::OBJECT_OR_NULL = TypeKlassPtr::make(TypePtr::BotPTR, current->env()->Object_klass(), Offset(0) );
- TypeKlassPtr::BOTTOM = EnableValhalla ? TypeKlassPtr::make(TypePtr::BotPTR, NULL, Offset(0)) : TypeKlassPtr::OBJECT_OR_NULL;
const Type **fi2c = TypeTuple::fields(2);
fi2c[TypeFunc::Parms+0] = TypeInstPtr::BOTTOM; // Method*
@@ -5194,7 +5193,6 @@
// Not-null object klass or below
const TypeKlassPtr *TypeKlassPtr::OBJECT;
const TypeKlassPtr *TypeKlassPtr::OBJECT_OR_NULL;
-const TypeKlassPtr* TypeKlassPtr::BOTTOM;
//------------------------------TypeKlassPtr-----------------------------------
TypeKlassPtr::TypeKlassPtr( PTR ptr, ciKlass* klass, Offset offset )
diff -r efdd3044724d src/hotspot/share/opto/type.hpp
--- a/src/hotspot/share/opto/type.hpp Thu Dec 06 16:28:02 2018 -0500
+++ b/src/hotspot/share/opto/type.hpp Fri Dec 07 11:11:21 2018 +0100
@@ -1412,7 +1412,6 @@
// Convenience common pre-built types.
static const TypeKlassPtr* OBJECT; // Not-null object klass or below
static const TypeKlassPtr* OBJECT_OR_NULL; // Maybe-null version of same
- static const TypeKlassPtr* BOTTOM;
#ifndef PRODUCT
virtual void dump2( Dict &d, uint depth, outputStream *st ) const; // Specialized per-Type dumping
#endif