Allow to specify instruction for delay slot before branch

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Won't Fix
    • Priority: P4
    • None
    • Affects Version/s: hs22, 9, 10
    • Component/s: hotspot
    • sparc
    • generic

      If we wanted to be clever about the delay slot issue we could add an function like maybe_delayed() that would emit the instruction in a side buffer and place it in the right place for these instructions. Basically you could emit it as if it were not delayed and then move it into the delay slot if you actually have one. So instead of:

            __ br_null(G3_scratch, false, __ pt, skip_fixup, false);
            __ delayed()->ld_ptr(G5_method, in_bytes(methodOopDesc::interpreter_entry_offset()), G3_scratch);

      you do

            __ maybe_delayed()->ld_ptr(G5_method, in_bytes(methodOopDesc::interpreter_entry_offset()), G3_scratch);
            __ br_null(G3_scratch, false, __ pt, skip_fixup);

      It's a little tweaky but it would allow cbcond to be used in more places.

      tom

            Assignee:
            Unassigned
            Reporter:
            Vladimir Kozlov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: