org.jikesrvm.compilers.common.assembler.ia32
Class Lister

java.lang.Object
  extended by org.jikesrvm.compilers.common.assembler.ia32.Lister
All Implemented Interfaces:
RegisterConstants

public final class Lister
extends Object
implements RegisterConstants


Nested Class Summary
private static class Lister.Prefix
           
 
Nested classes/interfaces inherited from interface org.jikesrvm.ia32.RegisterConstants
RegisterConstants.FloatingPointMachineRegister, RegisterConstants.FPR, RegisterConstants.GPR, RegisterConstants.MachineRegister, RegisterConstants.MM, RegisterConstants.XMM
 
Field Summary
private  Assembler asm
           
private static int DEST_AREA_SIZE
           
private static int OP_AREA_SIZE
           
private  Lister.Prefix prefix
           
private static int PREFIX_AREA_SIZE
           
private static int SOURCE_AREA_SIZE
           
 
Fields inherited from interface org.jikesrvm.ia32.RegisterConstants
ALL_FPRS, ALL_GPRS, EAX, EBP, EBX, ECX, EDI, EDX, ESI, ESP, FP0, FP1, FP2, FP3, FP4, FP5, FP6, FP7, INSTRUCTION_WIDTH, LG_INSTRUCTION_WIDTH, MM0, MM1, MM10, MM11, MM12, MM13, MM14, MM15, MM2, MM3, MM4, MM5, MM6, MM7, MM8, MM9, NATIVE_NONVOLATILE_FPRS, NATIVE_NONVOLATILE_GPRS, NATIVE_PARAMETER_FPRS, NATIVE_PARAMETER_GPRS, NATIVE_VOLATILE_FPRS, NATIVE_VOLATILE_GPRS, NONVOLATILE_FPRS, NONVOLATILE_GPRS, NUM_FPRS, NUM_GPRS, NUM_NONVOLATILE_FPRS, NUM_NONVOLATILE_GPRS, NUM_PARAMETER_FPRS, NUM_PARAMETER_GPRS, NUM_RETURN_FPRS, NUM_RETURN_GPRS, NUM_VOLATILE_FPRS, NUM_VOLATILE_GPRS, PARAMETER_FPRS, PARAMETER_GPRS, R0, R1, R10, R11, R12, R13, R14, R15, R2, R3, R4, R5, R6, R7, R8, R9, RETURN_FPRS, RETURN_GPRS, STACK_POINTER, THREAD_REGISTER, VOLATILE_FPRS, VOLATILE_GPRS, XMM0, XMM1, XMM10, XMM11, XMM12, XMM13, XMM14, XMM15, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9
 
Constructor Summary
Lister(Assembler asm)
           
 
Method Summary
private  int begin(int i, String op)
           
 void branchLikelyPrefix()
           
 void branchUnlikelyPrefix()
           
 void comefrom(int i, int j)
           
 void comment(int i, String comment)
           
(package private) static String decimal(int n)
           
(package private) static String decimal(long n)
           
private static String decimal(Offset o)
           
private static String decimal(short s)
           
private  void end(int i)
           
(package private) static String hex(Address i)
           
(package private) static String hex(byte b)
           
static String hex(int i)
           
(package private) static String hex(short i)
           
 void I(int i, String op, int n)
           
private static String left(String s, int w)
           
 void lockPrefix()
           
 void noteBytecode(int i, String bcode)
           
 void OP(int i, String op)
           
 void R(int i, String op, RegisterConstants.MachineRegister R0)
           
 void RA(int i, String op, Address d)
           
 void RAI(int i, String op, Address d, long n)
           
 void RAR(int i, String op, Address d, RegisterConstants.MachineRegister R0)
           
 void RARI(int i, String op, Address d, RegisterConstants.MachineRegister R0, int imm)
           
 void RARR(int i, String op, Address d, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R2)
           
 void RD(int i, String op, RegisterConstants.MachineRegister R0, Offset d)
           
 void RDI(int i, String op, RegisterConstants.MachineRegister R0, Offset d, long n)
           
 void RDR(int i, String op, RegisterConstants.MachineRegister R0, Offset d, RegisterConstants.MachineRegister R1)
           
 void RDRI(int i, String op, RegisterConstants.MachineRegister R0, Offset d, RegisterConstants.MachineRegister R1, int imm)
           
 void RDRR(int i, String op, RegisterConstants.MachineRegister R0, Offset d, RegisterConstants.MachineRegister R1, RegisterConstants.MachineRegister R2)
           
 void RFD(int i, String op, RegisterConstants.MachineRegister X, short s, Offset d)
           
 void RFDI(int i, String op, RegisterConstants.MachineRegister X, short s, Offset d, long n)
           
 void RFDR(int i, String op, RegisterConstants.MachineRegister X, short s, Offset d, RegisterConstants.MachineRegister R0)
           
 void RFDRI(int i, String op, RegisterConstants.MachineRegister X, short s, Offset d, RegisterConstants.MachineRegister R0, int imm)
           
 void RFDRR(int i, String op, RegisterConstants.MachineRegister X, short s, Offset d, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R2)
           
 void RI(int i, String op, RegisterConstants.MachineRegister R0, long n)
           
private static String right(String s, int w)
           
 void RN(int i, String op, RegisterConstants.MachineRegister R0)
           
 void RNI(int i, String op, RegisterConstants.MachineRegister R0, long n)
           
 void RNR(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1)
           
 void RNRI(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1, int imm)
           
 void RNRR(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1, RegisterConstants.MachineRegister R2)
           
 void RR(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1)
           
 void RRA(int i, String op, RegisterConstants.MachineRegister R0, Address d)
           
 void RRD(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1, Offset d)
           
 void RRFD(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister X, short s, Offset d)
           
 void RRI(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1, int imm)
           
 void RRN(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1)
           
 void RRR(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1, RegisterConstants.MachineRegister R2)
           
 void RRXD(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister R1, RegisterConstants.MachineRegister X, short s, Offset d)
           
 void RXD(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister X, short s, Offset d)
           
 void RXDI(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister X, short s, Offset d, long n)
           
 void RXDR(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister X, short s, Offset d, RegisterConstants.MachineRegister R1)
           
 void RXDRI(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister X, short s, Offset d, RegisterConstants.MachineRegister R1, int imm)
           
 void RXDRR(int i, String op, RegisterConstants.MachineRegister R0, RegisterConstants.MachineRegister X, short s, Offset d, RegisterConstants.MachineRegister R1, RegisterConstants.MachineRegister R2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFIX_AREA_SIZE

private static final int PREFIX_AREA_SIZE
See Also:
Constant Field Values

OP_AREA_SIZE

private static final int OP_AREA_SIZE
See Also:
Constant Field Values

SOURCE_AREA_SIZE

private static final int SOURCE_AREA_SIZE
See Also:
Constant Field Values

DEST_AREA_SIZE

private static final int DEST_AREA_SIZE
See Also:
Constant Field Values

asm

private final Assembler asm

prefix

private Lister.Prefix prefix
Constructor Detail

Lister

public Lister(Assembler asm)
Method Detail

lockPrefix

public void lockPrefix()

branchLikelyPrefix

public void branchLikelyPrefix()

branchUnlikelyPrefix

public void branchUnlikelyPrefix()

OP

public void OP(int i,
               String op)

I

public void I(int i,
              String op,
              int n)

R

public void R(int i,
              String op,
              RegisterConstants.MachineRegister R0)

RD

public void RD(int i,
               String op,
               RegisterConstants.MachineRegister R0,
               Offset d)

RI

public void RI(int i,
               String op,
               RegisterConstants.MachineRegister R0,
               long n)

RDI

public void RDI(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                Offset d,
                long n)

RNI

public void RNI(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                long n)

RR

public void RR(int i,
               String op,
               RegisterConstants.MachineRegister R0,
               RegisterConstants.MachineRegister R1)

RDR

public void RDR(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                Offset d,
                RegisterConstants.MachineRegister R1)

RDRI

public void RDRI(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 Offset d,
                 RegisterConstants.MachineRegister R1,
                 int imm)

RDRR

public void RDRR(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 Offset d,
                 RegisterConstants.MachineRegister R1,
                 RegisterConstants.MachineRegister R2)

RRD

public void RRD(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                RegisterConstants.MachineRegister R1,
                Offset d)

RNR

public void RNR(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                RegisterConstants.MachineRegister R1)

RN

public void RN(int i,
               String op,
               RegisterConstants.MachineRegister R0)

RRN

public void RRN(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                RegisterConstants.MachineRegister R1)

RXD

public void RXD(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                RegisterConstants.MachineRegister X,
                short s,
                Offset d)

RXDI

public void RXDI(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister X,
                 short s,
                 Offset d,
                 long n)

RFD

public void RFD(int i,
                String op,
                RegisterConstants.MachineRegister X,
                short s,
                Offset d)

RA

public void RA(int i,
               String op,
               Address d)

RFDI

public void RFDI(int i,
                 String op,
                 RegisterConstants.MachineRegister X,
                 short s,
                 Offset d,
                 long n)

RAI

public void RAI(int i,
                String op,
                Address d,
                long n)

RRR

public void RRR(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                RegisterConstants.MachineRegister R1,
                RegisterConstants.MachineRegister R2)

RNRI

public void RNRI(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister R1,
                 int imm)

RNRR

public void RNRR(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister R1,
                 RegisterConstants.MachineRegister R2)

RRI

public void RRI(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                RegisterConstants.MachineRegister R1,
                int imm)

RRXD

public void RRXD(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister R1,
                 RegisterConstants.MachineRegister X,
                 short s,
                 Offset d)

RXDR

public void RXDR(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister X,
                 short s,
                 Offset d,
                 RegisterConstants.MachineRegister R1)

RXDRI

public void RXDRI(int i,
                  String op,
                  RegisterConstants.MachineRegister R0,
                  RegisterConstants.MachineRegister X,
                  short s,
                  Offset d,
                  RegisterConstants.MachineRegister R1,
                  int imm)

RXDRR

public void RXDRR(int i,
                  String op,
                  RegisterConstants.MachineRegister R0,
                  RegisterConstants.MachineRegister X,
                  short s,
                  Offset d,
                  RegisterConstants.MachineRegister R1,
                  RegisterConstants.MachineRegister R2)

RRFD

public void RRFD(int i,
                 String op,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister X,
                 short s,
                 Offset d)

RFDR

public void RFDR(int i,
                 String op,
                 RegisterConstants.MachineRegister X,
                 short s,
                 Offset d,
                 RegisterConstants.MachineRegister R0)

RFDRI

public void RFDRI(int i,
                  String op,
                  RegisterConstants.MachineRegister X,
                  short s,
                  Offset d,
                  RegisterConstants.MachineRegister R0,
                  int imm)

RFDRR

public void RFDRR(int i,
                  String op,
                  RegisterConstants.MachineRegister X,
                  short s,
                  Offset d,
                  RegisterConstants.MachineRegister R0,
                  RegisterConstants.MachineRegister R2)

RRA

public void RRA(int i,
                String op,
                RegisterConstants.MachineRegister R0,
                Address d)

RAR

public void RAR(int i,
                String op,
                Address d,
                RegisterConstants.MachineRegister R0)

RARI

public void RARI(int i,
                 String op,
                 Address d,
                 RegisterConstants.MachineRegister R0,
                 int imm)

RARR

public void RARR(int i,
                 String op,
                 Address d,
                 RegisterConstants.MachineRegister R0,
                 RegisterConstants.MachineRegister R2)

begin

private int begin(int i,
                  String op)

end

private void end(int i)

left

private static String left(String s,
                           int w)

right

private static String right(String s,
                            int w)

decimal

private static String decimal(Offset o)

decimal

static String decimal(int n)

decimal

static String decimal(long n)

decimal

private static String decimal(short s)

hex

static String hex(Address i)

hex

public static String hex(int i)

hex

static String hex(short i)

hex

static String hex(byte b)

noteBytecode

public void noteBytecode(int i,
                         String bcode)

comment

public void comment(int i,
                    String comment)

comefrom

public void comefrom(int i,
                     int j)