src/share/vm/code/dependencies.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/code/dependencies.cpp	Thu Mar 12 14:28:54 2015
--- new/src/share/vm/code/dependencies.cpp	Thu Mar 12 14:28:54 2015

*** 843,853 **** --- 843,859 ---- // Note: If n==num_participants, returns NULL. Method* found_method(int n) { assert((uint)n <= (uint)_num_participants, "oob"); Method* fm = _found_methods[n]; assert(n == _num_participants || fm != NULL, "proper usage"); assert(fm == NULL || fm->method_holder() == _participants[n], "sanity"); + if (fm != NULL && fm->method_holder() != _participants[n]) { + // Default methods from interfaces can be added to classes. In + // that case the holder of the method is not the class but the + // interface where it's defined. + assert(fm->is_default_method(), "sanity"); + return NULL; + } return fm; } #ifdef ASSERT // Assert that m is inherited into ctxk, without intervening overrides.

src/share/vm/code/dependencies.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File