提交 2f9d3ede 编写于 作者: R roland

8027632: assert(xtype->klass_is_exact()) failed: Should be exact at graphKit.cpp

Summary: receiver type collected by profiling for default method may be interface
Reviewed-by: kvn, iveresov
上级 e6fc8818
......@@ -4338,6 +4338,11 @@ void GraphBuilder::print_stats() {
#endif // PRODUCT
void GraphBuilder::profile_call(ciMethod* callee, Value recv, ciKlass* known_holder, Values* obj_args, bool inlined) {
// A default method's holder is an interface
if (known_holder != NULL && known_holder->is_interface()) {
assert(known_holder->is_instance_klass() && ((ciInstanceKlass*)known_holder)->has_default_methods(), "should be default method");
known_holder = NULL;
}
append(new ProfileCall(method(), bci(), callee, recv, known_holder, obj_args, inlined));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册