JDK-6912064 : type profiles need to be exploited more for dynamic language support
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-12-19
  • Updated: 2011-03-08
  • Resolved: 2011-03-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 6 JDK 7 Other
6u25Fixed 7Fixed hs20Fixed
Related Reports
Relates :  
Relates :  
Description
In order to compile dynamically typed languages, the JVM needs to collect more dynamic typing profile information, and use the information it collects more completely.

Specifically:

- existing profiles on instanceof bytecodes need to be used (they are currently ignored)

- existing profiles on invocation receivers need to be used (they are currently used only in conjunction with inlining optimizations)

- certain type comparisons which appear monomorphic should be compiled to fail on uncommon traps, rather than normal slow path code

The following additional steps are requested by 6919064:

- profiles need to be collected on invokedynamic instructions

- profiles should also be collected on selected non-receiver arguments of method calls

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4b29a725c43c
21-08-2010

SUGGESTED FIX http://cr.openjdk.java.net/~jrose/6912064/webrev.00/
19-12-2009