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

AArch64: Optimize BR+FAR_JUMP into one BR in MachUEPNode::emit

    XMLWordPrintable

Details

    • Enhancement
    • Status: Closed
    • P4
    • Resolution: Withdrawn
    • 19
    • tbd
    • hotspot

    Description

      https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/aarch64/aarch64.ad#L2342
      void MachUEPNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const
      {
        // This is the unverified entry point.
        C2_MacroAssembler _masm(&cbuf);

        __ cmp_klass(j_rarg0, rscratch2, rscratch1);
        Label skip;
        // TODO
        // can we avoid this skip and still use a reloc?
        __ br(Assembler::EQ, skip);
        __ far_jump(RuntimeAddress(SharedRuntime::get_ic_miss_stub()));
        __ bind(skip);
      }

      We can optimize BR+FAR_JUMP into BR when we know FAR_JUMP is B.

      Attachments

        Issue Links

          Activity

            People

              eastigeevich Evgeny Astigeevich
              eastigeevich Evgeny Astigeevich
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: