Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1/c1_GraphBuilder.cpp @ 13021:4d3575d37a07
8026735: Stream tests throw java.lang.IncompatibleClassChangeError
Summary: Put a band-aid to disable CHA-based inlining for interfaces with default methods in C1
Reviewed-by: kvn, twisti
author | iveresov |
---|---|
date | Wed, 30 Oct 2013 22:55:11 -0700 |
parents | 0d1661d63d70 |
children | 144b23411b51 |
comparison
equal
deleted
inserted
replaced
13020:60a32bb8ff99 | 13021:4d3575d37a07 |
---|---|
1871 // equal to the number of implementors for target->holder() so | 1871 // equal to the number of implementors for target->holder() so |
1872 // if number of implementors of target->holder() == 1 then | 1872 // if number of implementors of target->holder() == 1 then |
1873 // number of implementors for decl_interface is 0 or 1. If | 1873 // number of implementors for decl_interface is 0 or 1. If |
1874 // it's 0 then no class implements decl_interface and there's | 1874 // it's 0 then no class implements decl_interface and there's |
1875 // no point in inlining. | 1875 // no point in inlining. |
1876 if (!holder->is_loaded() || decl_interface->nof_implementors() != 1) { | 1876 if (!holder->is_loaded() || decl_interface->nof_implementors() != 1 || decl_interface->has_default_methods()) { |
1877 singleton = NULL; | 1877 singleton = NULL; |
1878 } | 1878 } |
1879 } | 1879 } |
1880 if (singleton) { | 1880 if (singleton) { |
1881 cha_monomorphic_target = target->find_monomorphic_target(calling_klass, target->holder(), singleton); | 1881 cha_monomorphic_target = target->find_monomorphic_target(calling_klass, target->holder(), singleton); |