JDK-8030863 : PPC64: (part 220): ConstantTableBase for calls between args and jvms
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: port-stage-ppc-aix
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: ppc
  • Submitted: 2013-12-20
  • Updated: 2014-07-29
  • Resolved: 2013-12-27
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
8u20Fixed 9Fixed port-stage-ppc-aixFixed
Description
This is a fix for 8028580: PPC64 (part 114/120): Support for Call nodes with constants.

That change adds MachConstantBase node for Calls at req()-1 during
expand. Reister allocation adds the derived/base pairs and then
uses the wrong register maps for allocation, because the MachConstantBase
node is no more at req()-1

Now add the edge in the matcher when the node is complete.  Add it
after parameters and before jvms. Adapt jvms offsets. Also assure
jvms is always cloned, else the offset gets wrong.

So far, $constanttablebase is only used in Calls on PPC, so this has no effect on
other platforms.

----------------------------

This is preparation for PPC64 integration: http://openjdk.java.net/jeps/175
This and following ppc64 changes will go into staging repository first and tested there: http://hg.openjdk.java.net/ppc-aix-port/stage/