Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8028580

PPC64 (part 114/120): Support for Call nodes with constants.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • port-stage-ppc-aix
    • port-stage-ppc-aix
    • hotspot
    • None
    • master
    • ppc

        C2 Call nodes use several constant values. So far C2 does not
        support placing these values in the constant table of the nmethod.

        Among others, these constants are
         - the called address
         - the inline cache
         - values required by the C-calling convention (on PPC, env pointer
           and toc from function descriptor)

        This change extends Call nodes so that they can issue constants
        to the constant table.

        - Extend adlc to add edge to MachConstantBaseNode if
          $constanttablebase is used in the specification.
        - Extend Call nodes to deliver proper register mask to
          register allocation for this new input.
        - Add method ins_num_consts() so that number of required
          constants can be specified in the call node.
        - Extend output() so that it reserves space for the
          constants in the Calls, using ins_num_consts().


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

        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/

        As we basically redesigned this, it comprises two of the original patches:
        http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/338e318f1e12/ppc_patches/0114_opto-hook_to_postprocess_matcher_output_platform_dependent.patch
        http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/338e318f1e12/ppc_patches/0120_opto-constants_for_Call_nodes.patch
           

              goetz Goetz Lindenmaier
              goetz Goetz Lindenmaier
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: