From 6bdfc37efab629dd55ef6275f09d932f797bc14d Mon Sep 17 00:00:00 2001 From: twisti Date: Tue, 8 Oct 2013 19:57:28 -0700 Subject: 8007923: Tests on references fails Reviewed-by: kvn, iveresov --- src/share/vm/ci/ciKlass.cpp | 8 +++++--- src/share/vm/opto/escape.cpp | 1 + 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; -- cgit v1.2.3