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

Allow to specify instruction for delay slot before branch

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • hs22, 9, 10
    • 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

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

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: