JDK-6468505 : kill projection for calls should select the proper calling convention
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2006-09-07
  • Updated: 2010-04-02
  • Resolved: 2006-11-14
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
6u4Fixed 7Fixed hs10Fixed
The code in lcm.cpp that builds the kill projection for a call always uses the register_save_policy and never considers the c_reg_save_policy.  Most of the time this is ok in our current world because usually they are sufficiently compatible that it makes no difference.  However there are differences on intel because of the way we handle EBP that can make the code that generates stubs think that values can be left in EBP because EBP is marked NS in the register_save_policy.

SUGGESTED FIX http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2006/20060908174442.never.6468505/workspace/webrevs/webrev-2006.09.08/index.html

EVALUATION The code in sched_call should pick the proper calling convention based on the Opcode of the call.