JDK-8030680 : 292 cleanup from default method code assessment
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-12-17
  • Updated: 2020-08-14
  • Resolved: 2015-05-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9 Other
8u251Fixed 9 b66Fixed openjdk8u262Fixed
Description
Code bugs in 292 code identified during default method code assessment:
Introduced in 8.

1. methodHandles:init_method_memberName (get latest fix from John Rose)
  Ensure resolved_method() is not null before dereferencing m->method_holder()
  Ensure m_klass is not null before dereferencing

Could cause a crash - so worth fixing in 8 update.

2. klassItable::method_count_for_interface
#ifdef ASSERT
  while (nof_methods = 0)

// probably supposed to be while (nof_methods > 0)
Comments
Fix Request (8u) This cleans up the code and keeps codebases in sync (I see 8u261). Patch applies with reshuffles to 8u, passes tier1 tests afterwards.
16-03-2020

Some time ago John and I were talking about moving more 292 logic from C++ into Java. Maybe this should be part of this RFE.
18-12-2013