Uploaded image for project: 'JikesRVM'
  1. JikesRVM
  2. RVM-262

Improving typing of PPC Assembler registers

    Details

      Description

      Currently in the PPC assembler the type of a register is an int and the type of a displacement is an int. In the Intel compiler the registers are bytes, scales are shorts and the displacements ints. It is all too easy with the PPC assembler to pass a register as a displacement or vice versa. For example here are the definitions of STW and STWX:

      public final void emitSTW (int RS, int D, int RA)
      public final void emitSTWX (int RS, int RA, int RB)
      

      creating the statement:

      asm.emitSTW(T0, T1, T2)
      

      would not create any warnings (the 2nd argument probably means this should be an STWX) whereas had the definition of the registers been bytes (or even enums) the developer could have been spared some head scratching.

      This replaces SF RFE tracker 1658972.

        Attachments

          Issue links

            Activity

              People

              • Assignee:
                ebrangs Erik Brangs
                Reporter:
                ianrogers Ian Rogers
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: