mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-25 22:04:51 +02:00
8027632: assert(xtype->klass_is_exact()) failed: Should be exact at graphKit.cpp
Receiver type collected by profiling for default method may be interface Reviewed-by: kvn, iveresov
This commit is contained in:
parent
18ca4cc301
commit
31d2d5121a
1 changed files with 5 additions and 0 deletions
|
@ -4338,6 +4338,11 @@ void GraphBuilder::print_stats() {
|
||||||
#endif // PRODUCT
|
#endif // PRODUCT
|
||||||
|
|
||||||
void GraphBuilder::profile_call(ciMethod* callee, Value recv, ciKlass* known_holder, Values* obj_args, bool inlined) {
|
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));
|
append(new ProfileCall(method(), bci(), callee, recv, known_holder, obj_args, inlined));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue