United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-5074577 : Bad performance when HotSpot cannot optimize polymorphic calls

Details
Type:
Enhancement
Submit Date:
2004-07-15
Status:
Resolved
Updated Date:
2005-09-28
Project Name:
JDK
Resolved Date:
2005-09-28
Component:
hotspot
OS:
solaris_9
Sub-Component:
compiler
CPU:
sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
6
Fixed Versions:

Related Reports
Backport:
Relates:

Sub Tasks

Description
Only the second suggested fix for the bug 4803284 was integrated into Tiger:

  "Don't generate stack overflow check when a compiled method doesn't have 
   java calls and has frame size < vm_page_size/8."

The first suggested fix required more time for investigation.

                                    

Comments
SUGGESTED FIX

Webrev:
http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2005/20050920142945.kvn.5074577/workspace/webrevs/webrev-2005.09.20/index.html

 Add C2 product flag BimorphicInlining and set the default value to true.
 Save information about all known receivers from method_data in ciCallProfile.
 Sort the information by calls count.
 Inline (or direct call) second method if the call site is bimorphic and
 the flag BimorphicInlining is true.
 Set probability on dynamic class check based on the virtual call profile info.

 It shows double performance improvement on the original test cases
 from 4803284 but it doesn't improve our benchmarks scores.

*** (#1 of 1): [ UNSAVED ] ###@###.###
                                     
2005-09-21
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
mustang


                                     
2004-07-17
EVALUATION

###@###.### 2004-07-15

I have fix for this but need more time for testing.
Committed to Mustang.
                                     
2004-07-15



Hardware and Software, Engineered to Work Together