aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortwisti <none@none>2013-10-08 19:57:28 -0700
committertwisti <none@none>2013-10-08 19:57:28 -0700
commit6bdfc37efab629dd55ef6275f09d932f797bc14d (patch)
treeca881b70834756c2c2879226315fbff554a18b0d
parent3df475b376f7c1b4b533aa15954170dbe80966d5 (diff)
8007923: Tests on references fails
Reviewed-by: kvn, iveresov
-rw-r--r--src/share/vm/ci/ciKlass.cpp8
-rw-r--r--src/share/vm/opto/escape.cpp1
2 files changed, 6 insertions, 3 deletions
diff --git a/src/share/vm/ci/ciKlass.cpp b/src/share/vm/ci/ciKlass.cpp
index ee5e2700f..2a4a25acd 100644
--- a/src/share/vm/ci/ciKlass.cpp
+++ b/src/share/vm/ci/ciKlass.cpp
@@ -66,7 +66,9 @@ ciKlass::ciKlass(ciSymbol* name, BasicType bt) : ciType(bt) {
// ------------------------------------------------------------------
// ciKlass::is_subtype_of
bool ciKlass::is_subtype_of(ciKlass* that) {
- assert(is_loaded() && that->is_loaded(), "must be loaded");
+ assert(this->is_loaded(), err_msg("must be loaded: %s", this->name()->as_quoted_ascii()));
+ assert(that->is_loaded(), err_msg("must be loaded: %s", that->name()->as_quoted_ascii()));
+
// Check to see if the klasses are identical.
if (this == that) {
return true;
@@ -83,8 +85,8 @@ bool ciKlass::is_subtype_of(ciKlass* that) {
// ------------------------------------------------------------------
// ciKlass::is_subclass_of
bool ciKlass::is_subclass_of(ciKlass* that) {
- assert(is_loaded() && that->is_loaded(), "must be loaded");
- // Check to see if the klasses are identical.
+ assert(this->is_loaded(), err_msg("must be loaded: %s", this->name()->as_quoted_ascii()));
+ assert(that->is_loaded(), err_msg("must be loaded: %s", that->name()->as_quoted_ascii()));
VM_ENTRY_MARK;
Klass* this_klass = get_Klass();
diff --git a/src/share/vm/opto/escape.cpp b/src/share/vm/opto/escape.cpp
index c95226f11..50afded6a 100644
--- a/src/share/vm/opto/escape.cpp
+++ b/src/share/vm/opto/escape.cpp
@@ -780,6 +780,7 @@ void ConnectionGraph::add_call_node(CallNode* call) {
}
} else { // Allocate instance
if (cik->is_subclass_of(_compile->env()->Thread_klass()) ||
+ cik->is_subclass_of(_compile->env()->Reference_klass()) ||
!cik->is_instance_klass() || // StressReflectiveCode
cik->as_instance_klass()->has_finalizer()) {
es = PointsToNode::GlobalEscape;