提交 fe975f96 编写于 作者: T twisti

8007923: Tests on references fails

Reviewed-by: kvn, iveresov
上级 c591c733
...@@ -66,7 +66,9 @@ ciKlass::ciKlass(ciSymbol* name, BasicType bt) : ciType(bt) { ...@@ -66,7 +66,9 @@ ciKlass::ciKlass(ciSymbol* name, BasicType bt) : ciType(bt) {
// ------------------------------------------------------------------ // ------------------------------------------------------------------
// ciKlass::is_subtype_of // ciKlass::is_subtype_of
bool ciKlass::is_subtype_of(ciKlass* that) { 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. // Check to see if the klasses are identical.
if (this == that) { if (this == that) {
return true; return true;
...@@ -83,8 +85,8 @@ bool ciKlass::is_subtype_of(ciKlass* that) { ...@@ -83,8 +85,8 @@ bool ciKlass::is_subtype_of(ciKlass* that) {
// ------------------------------------------------------------------ // ------------------------------------------------------------------
// ciKlass::is_subclass_of // ciKlass::is_subclass_of
bool ciKlass::is_subclass_of(ciKlass* that) { bool ciKlass::is_subclass_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()));
// Check to see if the klasses are identical. assert(that->is_loaded(), err_msg("must be loaded: %s", that->name()->as_quoted_ascii()));
VM_ENTRY_MARK; VM_ENTRY_MARK;
Klass* this_klass = get_Klass(); Klass* this_klass = get_Klass();
......
...@@ -780,6 +780,7 @@ void ConnectionGraph::add_call_node(CallNode* call) { ...@@ -780,6 +780,7 @@ void ConnectionGraph::add_call_node(CallNode* call) {
} }
} else { // Allocate instance } else { // Allocate instance
if (cik->is_subclass_of(_compile->env()->Thread_klass()) || if (cik->is_subclass_of(_compile->env()->Thread_klass()) ||
cik->is_subclass_of(_compile->env()->Reference_klass()) ||
!cik->is_instance_klass() || // StressReflectiveCode !cik->is_instance_klass() || // StressReflectiveCode
cik->as_instance_klass()->has_finalizer()) { cik->as_instance_klass()->has_finalizer()) {
es = PointsToNode::GlobalEscape; es = PointsToNode::GlobalEscape;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册