sa-jdi

new V9AlternateSpaceLoadDecoder(18, "lduha", 3), new LoadDecoder(34, "ldq", 13), new V9AlternateSpaceLoadDecoder(50, "ldqa", 13) }, { new LoadDecoder(3, "ldd", 7), new V9AlternateSpaceLoadDecoder(19, "ldda", 7), new LoadDecoder(35, "ldd", 11), new LoadDecoder(51, "ldda", 11) }, { new StoreDecoder(4, "st", 5), new V9AlternateSpaceStoreDecoder(20, "stwa", 5), new StoreDecoder(36, "st", 10), new StoreDecoder(52, "st", 10) }, { new StoreDecoder(5, "stb", 1), new V9AlternateSpaceStoreDecoder(21, "stba", 1), new V9SpecialStoreDecoder(37), illegalDecoder }, { new StoreDecoder(6, "sth", 3), new V9AlternateSpaceStoreDecoder(22, "stha", 3), new StoreDecoder(38, "stq", 13), new V9AlternateSpaceStoreDecoder(54, "stqa", 13) }, { new StoreDecoder(7, "std", 7), new V9AlternateSpaceStoreDecoder(23, "stda", 7), new StoreDecoder(39, "std", 11), new V9AlternateSpaceStoreDecoder(55, "stda", 11) }, { new LoadDecoder(8, "ldsw", 4), new V9AlternateSpaceLoadDecoder(24, "ldswa", 4), illegalDecoder, illegalDecoder }, { new LoadDecoder(9, "ldsb", 0), new V9AlternateSpaceLoadDecoder(25, "ldsba", 1), illegalDecoder, illegalDecoder }, { new LoadDecoder(10, "ldsh", 2), new V9AlternateSpaceLoadDecoder(26, "ldsha", 3), illegalDecoder, illegalDecoder }, { new LoadDecoder(11, "ldx", 7), new V9AlternateSpaceLoadDecoder(27, "ldxa", 7), illegalDecoder, illegalDecoder }, { illegalDecoder, illegalDecoder, illegalDecoder, new V9CasDecoder(60, "casa", 5) }, { new LdstubDecoder(13, "ldstub", 1), new V9AlternateSpaceLdstubDecoder(29, "ldstuba", 1), new V9PrefetchDecoder(), new V9AlternateSpacePrefetchDecoder() }, { new StoreDecoder(14, "stx", 7), new V9AlternateSpaceStoreDecoder(30, "stxa", 7), illegalDecoder, new V9CasDecoder(62, "casxa", 7) }, { new SwapDecoder(15, "swap", 5), new V9AlternateSpaceSwapDecoder(31, "swapa", 5), illegalDecoder, illegalDecoder } };
  
  protected InstructionDecoder getFormat3Decoder(int row, int column)
  {
    return format3Decoders[row][column];
  }
  
  protected static final InstructionDecoder[][] format3ADecoders = { { new ArithmeticDecoder(0, "add", 0), new ArithmeticDecoder(16, "addcc", 0), new ArithmeticDecoder(32, "taddcc", 0), new V9WriteDecoder() }, { new LogicDecoder(1, "and", 8), new LogicDecoder(17, "andcc", 8), new ArithmeticDecoder(33, "tsubcc", 0), new V9SavedRestoredDecoder() }, { new LogicDecoder(2, "or", 9), new LogicDecoder(18, "orcc", 9), new ArithmeticDecoder(34, "taddcctv", 0), new V9WrprDecoder() }, { new LogicDecoder(3, "xor", 13), new LogicDecoder(19, "xorcc", 13), new ArithmeticDecoder(35, "tsubcctv", 2), illegalDecoder }, { new ArithmeticDecoder(4, "sub", 2), new ArithmeticDecoder(20, "subcc", 2), new ArithmeticDecoder(36, "mulscc", 4), new V9FPop1Decoder() }, { new LogicDecoder(5, "andn", 11), new LogicDecoder(21, "andncc", 11), new V9ShiftDecoder(37, "sll", 17), new V9FPop2Decoder() }, { new LogicDecoder(6, "orn", 12), new LogicDecoder(22, "orncc", 12), new V9ShiftDecoder(38, "srl", 15), new CoprocessorDecoder(54) }, { new LogicDecoder(7, "xnor", 14), new LogicDecoder(23, "xnorcc", 14), new V9ShiftDecoder(39, "sra", 16), new CoprocessorDecoder(55) }, { new ArithmeticDecoder(8, "addc", 1), new ArithmeticDecoder(24, "addccc", 1), new V9ReadDecoder(), new JmplDecoder() }, { new ArithmeticDecoder(9, "mulx", 5), illegalDecoder, illegalDecoder, new RettDecoder() }, { new ArithmeticDecoder(10, "umul", 5), new ArithmeticDecoder(26, "umulcc", 5), new V9RdprDecoder(), new TrapDecoder() }, { new ArithmeticDecoder(11, "smul", 4), new ArithmeticDecoder(27, "smulcc", 4), new V9FlushwDecoder(), new FlushDecoder() }, { new ArithmeticDecoder(12, "subc", 3), new ArithmeticDecoder(28, "subccc", 3), new V9MOVccDecoder(), new SaveDecoder() }, { new ArithmeticDecoder(13, "udivx", 7), illegalDecoder, new ArithmeticDecoder(45, "sdivx", 6), new RestoreDecoder() }, { new ArithmeticDecoder(14, "udiv", 7), new ArithmeticDecoder(30, "udivcc", 7), new V9PopcDecoder(), new V9DoneRetryDecoder() }, { new ArithmeticDecoder(15, "sdiv", 6), new ArithmeticDecoder(31, "sdivcc", 6), new V9MOVrDecoder(), illegalDecoder } };
  
  protected InstructionDecoder getFormat3ADecoder(int row, int column)
  {
    return format3ADecoders[row][column];
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9Disassembler
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9DoneInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  public SPARCV9DoneInstruction()
  {
    super("done");
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9DoneInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9FlushwInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  public SPARCV9FlushwInstruction()
  {
    super("flushw");
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9FlushwInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.MoveInstruction;

public class SPARCV9FMOVccInstruction
  extends SPARCFPMoveInstruction
  implements MoveInstruction
{
  final int conditionCode;
  final int conditionFlag;
  
  public SPARCV9FMOVccInstruction(String name, int opf, int conditionCode, int conditionFlag, SPARCFloatRegister rs, SPARCFloatRegister rd)
  {
    super(name, opf, rs, rd);
    this.conditionFlag = conditionFlag;
    this.conditionCode = conditionCode;
  }
  
  public int getConditionCode()
  {
    return conditionCode;
  }
  
  public int getConditionFlag()
  {
    return conditionFlag;
  }
  
  public boolean isConditional()
  {
    return false;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9FMOVccInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.Register;

public class SPARCV9FMOVrInstruction
  extends SPARCFPMoveInstruction
  implements SPARCV9Instruction
{
  private final int regConditionCode;
  private final SPARCRegister rs1;
  
  public SPARCV9FMOVrInstruction(String name, int opf, SPARCRegister rs1, SPARCFloatRegister rs2, SPARCFloatRegister rd, int regConditionCode)
  {
    super(name, opf, rs2, rd);
    this.regConditionCode = regConditionCode;
    this.rs1 = rs1;
  }
  
  protected String getDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(rs1.toString());
    buf.append(comma);
    buf.append(rs.toString());
    buf.append(comma);
    buf.append(rd.toString());
    return buf.toString();
  }
  
  public int getRegisterConditionCode()
  {
    return regConditionCode;
  }
  
  public boolean isConditional()
  {
    return true;
  }
  
  public Register getConditionRegister()
  {
    return rs1;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9FMOVrInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9IlltrapInstruction
  extends SPARCUnimpInstruction
  implements SPARCV9Instruction
{
  public SPARCV9IlltrapInstruction(int const22)
  {
    super("illtrap", const22);
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9IlltrapInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9ImpdepInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  public SPARCV9ImpdepInstruction(String name)
  {
    super(name);
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9ImpdepInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public abstract interface SPARCV9Instruction
  extends SPARCV9Opcodes
{}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9Instruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.ImmediateOrRegister;
import sun.jvm.hotspot.asm.PCRelativeAddress;

public abstract interface SPARCV9InstructionFactory
  extends SPARCInstructionFactory
{
  public abstract SPARCInstruction newV9BranchInstruction(String paramString, PCRelativeAddress paramPCRelativeAddress, boolean paramBoolean1, int paramInt1, boolean paramBoolean2, int paramInt2);
  
  public abstract SPARCInstruction newV9RegisterBranchInstruction(String paramString, PCRelativeAddress paramPCRelativeAddress, boolean paramBoolean1, int paramInt, SPARCRegister paramSPARCRegister, boolean paramBoolean2);
  
  public abstract SPARCInstruction newV9CasInstruction(String paramString, SPARCRegisterIndirectAddress paramSPARCRegisterIndirectAddress, SPARCRegister paramSPARCRegister1, SPARCRegister paramSPARCRegister2, int paramInt);
  
  public abstract SPARCInstruction newV9PrefetchInstruction(String paramString, SPARCRegisterIndirectAddress paramSPARCRegisterIndirectAddress, int paramInt);
  
  public abstract SPARCInstruction newV9FlushwInstruction();
  
  public abstract SPARCInstruction newV9MOVccInstruction(String paramString, int paramInt1, int paramInt2, ImmediateOrRegister paramImmediateOrRegister, SPARCRegister paramSPARCRegister);
  
  public abstract SPARCInstruction newV9MOVrInstruction(String paramString, SPARCRegister paramSPARCRegister1, ImmediateOrRegister paramImmediateOrRegister, SPARCRegister paramSPARCRegister2, int paramInt);
  
  public abstract SPARCInstruction newV9RdprInstruction(int paramInt, SPARCRegister paramSPARCRegister);
  
  public abstract SPARCInstruction newV9WrprInstruction(SPARCRegister paramSPARCRegister, ImmediateOrRegister paramImmediateOrRegister, int paramInt);
  
  public abstract SPARCInstruction newV9PopcInstruction(ImmediateOrRegister paramImmediateOrRegister, SPARCRegister paramSPARCRegister);
  
  public abstract SPARCInstruction newV9DoneInstruction();
  
  public abstract SPARCInstruction newV9RetryInstruction();
  
  public abstract SPARCInstruction newV9SavedInstruction();
  
  public abstract SPARCInstruction newV9RestoredInstruction();
  
  public abstract SPARCInstruction newV9ReadInstruction(int paramInt1, int paramInt2, SPARCRegister paramSPARCRegister);
  
  public abstract SPARCInstruction newV9WriteInstruction(int paramInt1, int paramInt2, SPARCRegister paramSPARCRegister, ImmediateOrRegister paramImmediateOrRegister);
  
  public abstract SPARCInstruction newV9MembarInstruction(int paramInt1, int paramInt2);
  
  public abstract SPARCInstruction newV9SirInstruction();
  
  public abstract SPARCInstruction newV9FMOVccInstruction(String paramString, int paramInt1, int paramInt2, int paramInt3, SPARCFloatRegister paramSPARCFloatRegister1, SPARCFloatRegister paramSPARCFloatRegister2);
  
  public abstract SPARCInstruction newV9FMOVrInstruction(String paramString, int paramInt1, SPARCRegister paramSPARCRegister, SPARCFloatRegister paramSPARCFloatRegister1, SPARCFloatRegister paramSPARCFloatRegister2, int paramInt2);
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9InstructionFactory
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.ImmediateOrRegister;
import sun.jvm.hotspot.asm.PCRelativeAddress;

public class SPARCV9InstructionFactoryImpl
  extends SPARCInstructionFactoryImpl
  implements SPARCV9InstructionFactory
{
  public SPARCInstruction newUnimpInstruction(int const22)
  {
    return new SPARCV9IlltrapInstruction(const22);
  }
  
  public SPARCInstruction newRettInstruction(SPARCRegisterIndirectAddress addr)
  {
    return new SPARCV9ReturnInstruction(addr);
  }
  
  public SPARCInstruction newCoprocessorInstruction(int instruction, int cpopcode, int opc, int rs1Num, int rs2Num, int rdNum)
  {
    return new SPARCV9ImpdepInstruction(cpopcode == 54 ? "impdep1" : "impdep2");
  }
  
  public SPARCInstruction newV9ReadInstruction(int specialRegNum, int asrRegNum, SPARCRegister rd)
  {
    return new SPARCV9ReadInstruction(specialRegNum, asrRegNum, rd);
  }
  
  public SPARCInstruction newV9WriteInstruction(int specialRegNum, int asrRegNum, SPARCRegister rs1, ImmediateOrRegister operand2)
  {
    return new SPARCV9WriteInstruction(specialRegNum, asrRegNum, rs1, operand2);
  }
  
  public SPARCInstruction newV9BranchInstruction(String name, PCRelativeAddress addr, boolean isAnnuled, int conditionCode, boolean predictTaken, int conditionFlag)
  {
    return new SPARCV9BranchInstruction(name, addr, isAnnuled, conditionCode, predictTaken, conditionFlag);
  }
  
  public SPARCInstruction newV9RegisterBranchInstruction(String name, PCRelativeAddress addr, boolean isAnnuled, int regConditionCode, SPARCRegister conditionRegister, boolean predictTaken)
  {
    return new SPARCV9RegisterBranchInstruction(name, addr, isAnnuled, regConditionCode, conditionRegister, predictTaken);
  }
  
  public SPARCInstruction newV9CasInstruction(String name, SPARCRegisterIndirectAddress addr, SPARCRegister rs2, SPARCRegister rd, int dataType)
  {
    return new SPARCV9CasInstruction(name, addr, rs2, rd, dataType);
  }
  
  public SPARCInstruction newV9PrefetchInstruction(String name, SPARCRegisterIndirectAddress addr, int prefetchFcn)
  {
    return new SPARCV9PrefetchInstruction(name, addr, prefetchFcn);
  }
  
  public SPARCInstruction newV9FlushwInstruction()
  {
    return new SPARCV9FlushwInstruction();
  }
  
  public SPARCInstruction newV9MOVccInstruction(String name, int conditionCode, int conditionFlag, ImmediateOrRegister source, SPARCRegister rd)
  {
    return new SPARCV9MOVccInstruction(name, conditionCode, conditionFlag, source, rd);
  }
  
  public SPARCInstruction newV9MOVrInstruction(String name, SPARCRegister rs1, ImmediateOrRegister operand2, SPARCRegister rd, int regConditionCode)
  {
    return new SPARCV9MOVrInstruction(name, rs1, operand2, rd, regConditionCode);
  }
  
  public SPARCInstruction newV9RdprInstruction(int regNum, SPARCRegister rd)
  {
    return new SPARCV9RdprInstruction(regNum, rd);
  }
  
  public SPARCInstruction newV9WrprInstruction(SPARCRegister rs1, ImmediateOrRegister operand2, int regNum)
  {
    return new SPARCV9WrprInstruction(rs1, operand2, regNum);
  }
  
  public SPARCInstruction newV9PopcInstruction(ImmediateOrRegister source, SPARCRegister rd)
  {
    return new SPARCV9PopcInstruction(source, rd);
  }
  
  public SPARCInstruction newV9DoneInstruction()
  {
    return new SPARCV9DoneInstruction();
  }
  
  public SPARCInstruction newV9RetryInstruction()
  {
    return new SPARCV9RetryInstruction();
  }
  
  public SPARCInstruction newV9SavedInstruction()
  {
    return new SPARCV9SavedInstruction();
  }
  
  public SPARCInstruction newV9RestoredInstruction()
  {
    return new SPARCV9RestoredInstruction();
  }
  
  public SPARCInstruction newV9MembarInstruction(int mmask, int cmask)
  {
    return new SPARCV9MembarInstruction(mmask, cmask);
  }
  
  public SPARCInstruction newV9SirInstruction()
  {
    return new SPARCV9SirInstruction();
  }
  
  public SPARCInstruction newV9FMOVccInstruction(String name, int opf, int conditionCode, int conditionFlag, SPARCFloatRegister rs, SPARCFloatRegister rd)
  {
    return new SPARCV9FMOVccInstruction(name, opf, conditionCode, conditionFlag, rs, rd);
  }
  
  public SPARCInstruction newV9FMOVrInstruction(String name, int opf, SPARCRegister rs1, SPARCFloatRegister rs2, SPARCFloatRegister rd, int regConditionCode)
  {
    return new SPARCV9FMOVrInstruction(name, opf, rs1, rs2, rd, regConditionCode);
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9InstructionFactoryImpl
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import java.util.Vector;
import sun.jvm.hotspot.asm.SymbolFinder;

public class SPARCV9MembarInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  private final int mmask;
  private final int cmask;
  private final String description;
  
  public SPARCV9MembarInstruction(int mmask, int cmask)
  {
    super("membar");
    this.mmask = (mmask & 0xF);
    this.cmask = (cmask & 0x7);
    description = initDescription();
  }
  
  private String initDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    
    Vector masks = new Vector();
    if ((mmask & 0x1) != 0) {
      masks.add("#LoadLoad");
    }
    if ((mmask & 0x2) != 0) {
      masks.add("#StoreLoad");
    }
    if ((mmask & 0x4) != 0) {
      masks.add("#LoadStore");
    }
    if ((mmask & 0x8) != 0) {
      masks.add("#StoreStore");
    }
    if ((cmask & 0x1) != 0) {
      masks.add("#Lookaside");
    }
    if ((cmask & 0x2) != 0) {
      masks.add("#MemIssue");
    }
    if ((cmask & 0x4) != 0) {
      masks.add("#Sync");
    }
    Object[] tempMasks = masks.toArray();
    for (int i = 0; i < tempMasks.length - 1; i++)
    {
      buf.append((String)tempMasks[i]);
      buf.append("| ");
    }
    buf.append((String)tempMasks[(tempMasks.length - 1)]);
    
    return buf.toString();
  }
  
  public int getMMask()
  {
    return mmask;
  }
  
  public int getCMask()
  {
    return cmask;
  }
  
  public String asString(long currentPc, SymbolFinder symFinder)
  {
    return description;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9MembarInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.ImmediateOrRegister;

public class SPARCV9MOVccInstruction
  extends SPARCMoveInstruction
  implements SPARCV9Instruction
{
  private final int conditionFlag;
  private final int conditionCode;
  
  public SPARCV9MOVccInstruction(String name, int conditionCode, int conditionFlag, ImmediateOrRegister source, SPARCRegister rd)
  {
    super(name, 44, source, rd);
    this.conditionCode = conditionCode;
    this.conditionFlag = conditionFlag;
  }
  
  protected String getDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(SPARCV9ConditionFlags.getFlagName(conditionFlag));
    buf.append(comma);
    buf.append(getOperand2String());
    buf.append(comma);
    buf.append(rd.toString());
    return buf.toString();
  }
  
  public int getConditionCode()
  {
    return conditionCode;
  }
  
  public int getConditionFlag()
  {
    return conditionFlag;
  }
  
  public String getConditionFlagName()
  {
    return SPARCV9ConditionFlags.getFlagName(conditionFlag);
  }
  
  public boolean isConditional()
  {
    return true;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9MOVccInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.ImmediateOrRegister;
import sun.jvm.hotspot.asm.Register;

public class SPARCV9MOVrInstruction
  extends SPARCMoveInstruction
  implements SPARCV9Instruction
{
  private final int regConditionCode;
  private final SPARCRegister rs1;
  
  public SPARCV9MOVrInstruction(String name, SPARCRegister rs1, ImmediateOrRegister operand2, SPARCRegister rd, int regConditionCode)
  {
    super(name, 47, operand2, rd);
    this.regConditionCode = regConditionCode;
    this.rs1 = rs1;
  }
  
  protected String getDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(rs1.toString());
    buf.append(comma);
    buf.append(getOperand2String());
    buf.append(comma);
    buf.append(rd.toString());
    return buf.toString();
  }
  
  public int getRegisterConditionCode()
  {
    return regConditionCode;
  }
  
  public boolean isConditional()
  {
    return true;
  }
  
  public Register getConditionRegister()
  {
    return getSourceRegister1();
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9MOVrInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public abstract interface SPARCV9Opcodes
  extends SPARCOpcodes
{
  public static final int OP_2_BPcc = 1;
  public static final int OP_2_BPr = 3;
  public static final int OP_2_FBPfcc = 5;
  public static final int BRANCH_RCOND_START_BIT = 25;
  public static final int BRANCH_RCOND_MASK = 234881024;
  public static final int CMOVE_RCOND_START_BIT = 10;
  public static final int CMOVE_RCOND_MASK = 7168;
  public static final int IMPDEP1 = 54;
  public static final int IMPDEP2 = 55;
  public static final int BRANCH_RCOND_RESERVED1 = 0;
  public static final int BRZ = 1;
  public static final int MOVRZ = 1;
  public static final int FMOVZ = 1;
  public static final int BRLEZ = 2;
  public static final int MOVRLEZ = 2;
  public static final int FMOVLEZ = 2;
  public static final int BRLZ = 3;
  public static final int MOVRLZ = 3;
  public static final int FMOVLZ = 3;
  public static final int BRANCH_RCOND_RESERVED2 = 4;
  public static final int BRNZ = 5;
  public static final int MOVRNZ = 5;
  public static final int FMOVNZ = 5;
  public static final int BRGZ = 6;
  public static final int MOVGZ = 6;
  public static final int FMOVGZ = 6;
  public static final int BRGEZ = 7;
  public static final int MOVRGEZ = 7;
  public static final int FMOVGEZ = 7;
  public static final int PREDICTION_START_BIT = 19;
  public static final int PREDICTION_MASK = 524288;
  public static final int DISP_16_HI_START_BIT = 20;
  public static final int DISP_16_HI_MASK = 3145728;
  public static final int DISP_16_LO_START_BIT = 0;
  public static final int DISP_16_LO_MASK = 16383;
  public static final int DISP_16_LO_NUMBITS = 14;
  public static final int DISP_19_MASK = 524287;
  public static final int OPF_CC_START_BIT = 11;
  public static final int OPF_CC_MASK = 14336;
  public static final int fcc0 = 0;
  public static final int fcc1 = 1;
  public static final int fcc2 = 2;
  public static final int fcc3 = 3;
  public static final int icc = 4;
  public static final int CFLAG_RESERVED1 = 5;
  public static final int xcc = 6;
  public static final int CFLAG_RESERVED2 = 7;
  public static final int BPcc_CC_START_BIT = 20;
  public static final int BPcc_CC_MASK = 3145728;
  public static final int FBPfcc_CC_START_BIT = 20;
  public static final int FBPfcc_CC_MASK = 3145728;
  public static final int CONDITION_BPN = 0;
  public static final int CONDITION_BPE = 1;
  public static final int CONDITION_BPLE = 2;
  public static final int CONDITION_BPL = 3;
  public static final int CONDITION_BPLEU = 4;
  public static final int CONDITION_BPCS = 5;
  public static final int CONDITION_BPNEG = 6;
  public static final int CONDITION_BPVS = 7;
  public static final int CONDITION_BPA = 8;
  public static final int CONDITION_BPNE = 9;
  public static final int CONDITION_BPG = 10;
  public static final int CONDITION_BPGE = 11;
  public static final int CONDITION_BPGU = 12;
  public static final int CONDITION_BPCC = 13;
  public static final int CONDITION_BPPOS = 14;
  public static final int CONDITION_BPVC = 15;
  public static final int CONDITION_FBPN = 0;
  public static final int CONDITION_FBPNE = 1;
  public static final int CONDITION_FBPLG = 2;
  public static final int CONDITION_FBPUL = 3;
  public static final int CONDITION_FBPL = 4;
  public static final int CONDITION_FBPUG = 5;
  public static final int CONDITION_FBPG = 6;
  public static final int CONDITION_FBPU = 7;
  public static final int CONDITION_FBPA = 8;
  public static final int CONDITION_FBPE = 9;
  public static final int CONDITION_FBPUE = 10;
  public static final int CONDITION_FBPGE = 11;
  public static final int CONDITION_FBPUGE = 12;
  public static final int CONDITION_FBPLE = 13;
  public static final int CONDITION_FBPULE = 14;
  public static final int CONDITION_FBPO = 15;
  public static final int CMASK_START_BIT = 4;
  public static final int CMASK_MASK = 112;
  public static final int MMASK_START_BIT = 0;
  public static final int MMASK_MASK = 15;
  public static final int LDUW = 0;
  public static final int LDUWA = 16;
  public static final int LDXFSR = 33;
  public static final int LDFA = 48;
  public static final int LDQF = 34;
  public static final int LDQFA = 50;
  public static final int LDDFA = 51;
  public static final int STW = 4;
  public static final int STWA = 20;
  public static final int STFA = 52;
  public static final int STXFSR = 37;
  public static final int STQF = 38;
  public static final int STQFA = 54;
  public static final int STDFA = 55;
  public static final int LDSW = 8;
  public static final int LDSWA = 24;
  public static final int LDX = 11;
  public static final int LDXA = 27;
  public static final int PREFETCH = 45;
  public static final int PREFETCHA = 61;
  public static final int CASA = 60;
  public static final int STX = 14;
  public static final int STXA = 30;
  public static final int CASXA = 62;
  public static final int SHIFT_COUNT_6_MASK = 63;
  public static final int X_MASK = 4096;
  public static final int ADDC = 8;
  public static final int ADDCcc = 24;
  public static final int SUBC = 12;
  public static final int SUBCcc = 28;
  public static final int MULX = 9;
  public static final int UDIVX = 13;
  public static final int SLLX = 37;
  public static final int SRLX = 38;
  public static final int SRAX = 39;
  public static final int RDCCR = 40;
  public static final int RDASI = 40;
  public static final int RDTICK = 40;
  public static final int RDPC = 40;
  public static final int RDFPRS = 40;
  public static final int MEMBAR = 40;
  public static final int STMBAR = 40;
  public static final int RDPR = 42;
  public static final int FLUSHW = 43;
  public static final int MOVcc = 44;
  public static final int SDIVX = 45;
  public static final int POPC = 46;
  public static final int MOVr = 47;
  public static final int WRCCR = 48;
  public static final int WRASI = 48;
  public static final int WRFPRS = 48;
  public static final int SIR = 48;
  public static final int SAVED = 49;
  public static final int RESTORED = 49;
  public static final int WRPR = 50;
  public static final int RETURN = 57;
  public static final int DONE = 62;
  public static final int RETRY = 62;
  public static final int CONDITION_MOVN = 0;
  public static final int CONDITION_MOVE = 1;
  public static final int CONDITION_MOVLE = 2;
  public static final int CONDITION_MOVL = 3;
  public static final int CONDITION_MOVLEU = 4;
  public static final int CONDITION_MOVCS = 5;
  public static final int CONDITION_MOVNEG = 6;
  public static final int CONDITION_MOVVS = 7;
  public static final int CONDITION_MOVA = 8;
  public static final int CONDITION_MOVNE = 9;
  public static final int CONDITION_MOVG = 10;
  public static final int CONDITION_MOVGE = 11;
  public static final int CONDITION_MOVGU = 12;
  public static final int CONDITION_MOVCC = 13;
  public static final int CONDITION_MOVPOS = 14;
  public static final int CONDITION_MOVVC = 15;
  public static final int CMOVE_CC_START_BIT = 11;
  public static final int CMOVE_CC0_CC1_MASK = 6144;
  public static final int CMOVE_CC2_START_BIT = 18;
  public static final int CMOVE_CC2_MASK = 262144;
  public static final int CMOVE_COND_START_BIT = 14;
  public static final int CMOVE_COND_MASK = 245760;
  public static final int FMOVd = 2;
  public static final int FMOVq = 3;
  public static final int FNEGd = 6;
  public static final int FNEGq = 7;
  public static final int FABSd = 10;
  public static final int FABSq = 11;
  public static final int FsTOx = 129;
  public static final int FdTOx = 130;
  public static final int FqTOx = 131;
  public static final int FxTOs = 132;
  public static final int FxTOd = 136;
  public static final int FxTOq = 140;
  public static final int FMOVs_fcc0 = 1;
  public static final int FMOVs_fcc1 = 65;
  public static final int FMOVs_fcc2 = 129;
  public static final int FMOVs_fcc3 = 193;
  public static final int FMOVs_icc = 257;
  public static final int FMOVs_xcc = 385;
  public static final int FMOVd_fcc0 = 2;
  public static final int FMOVd_fcc1 = 66;
  public static final int FMOVd_fcc2 = 130;
  public static final int FMOVd_fcc3 = 194;
  public static final int FMOVd_icc = 258;
  public static final int FMOVd_xcc = 386;
  public static final int FMOVq_fcc0 = 3;
  public static final int FMOVq_fcc1 = 67;
  public static final int FMOVq_fcc2 = 131;
  public static final int FMOVq_fcc3 = 195;
  public static final int FMOVq_icc = 259;
  public static final int FMOVq_xcc = 387;
  public static final int FMOVRsZ = 37;
  public static final int FMOVRsLEZ = 69;
  public static final int FMOVRsLZ = 101;
  public static final int FMOVRsNZ = 165;
  public static final int FMOVRsGZ = 197;
  public static final int FMOVRsGEZ = 229;
  public static final int FMOVRdZ = 38;
  public static final int FMOVRdLEZ = 70;
  public static final int FMOVRdLZ = 102;
  public static final int FMOVRdNZ = 166;
  public static final int FMOVRdGZ = 198;
  public static final int FMOVRdGEZ = 230;
  public static final int FMOVRqZ = 39;
  public static final int FMOVRqLEZ = 71;
  public static final int FMOVRqLZ = 103;
  public static final int FMOVRqNZ = 167;
  public static final int FMOVRqGZ = 199;
  public static final int FMOVRqGEZ = 231;
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9Opcodes
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.ImmediateOrRegister;

public class SPARCV9PopcInstruction
  extends SPARCFormat3AInstruction
  implements SPARCV9Instruction
{
  public SPARCV9PopcInstruction(ImmediateOrRegister source, SPARCRegister rd)
  {
    super("popc", 46, null, source, rd);
  }
  
  protected String getDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(getOperand2String());
    buf.append(comma);
    buf.append(rd.toString());
    return buf.toString();
  }
  
  public ImmediateOrRegister getSource()
  {
    return operand2;
  }
  
  public SPARCRegister getDestination()
  {
    return rd;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9PopcInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.SymbolFinder;

public class SPARCV9PrefetchInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  private final SPARCRegisterIndirectAddress addr;
  private final int prefetchFcn;
  private final String description;
  public static final int PREFETCH_MANY_READS = 0;
  public static final int PREFETCH_ONE_READ = 1;
  public static final int PREFETCH_MANY_WRITES = 2;
  public static final int PREFETCH_ONE_WRITE = 3;
  public static final int PREFETCH_PAGE = 4;
  
  public SPARCV9PrefetchInstruction(String name, SPARCRegisterIndirectAddress addr, int prefetchFcn)
  {
    super(name);
    this.addr = addr;
    this.prefetchFcn = prefetchFcn;
    description = initDescription();
  }
  
  private String initDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(addr.toString());
    buf.append(comma);
    buf.append(prefetchFcn);
    return buf.toString();
  }
  
  public int getPrefetchFunction()
  {
    return prefetchFcn;
  }
  
  public SPARCRegisterIndirectAddress getPrefetchAddress()
  {
    return addr;
  }
  
  public String asString(long currentPc, SymbolFinder symFinder)
  {
    return description;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9PrefetchInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.SymbolFinder;

public abstract class SPARCV9PrivilegedRegisterInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction, SPARCV9PrivilegedRegisters
{
  protected static final String[] regNames = { "%tpc", "%tnpc", "%tstate", "%tt", "%tick", "%tba", "%pstate", "%tl", "%pil", "%cwp", "%cansave", "%canrestore", "%cleanwin", "%otherwin", "%wstate", "%fq" };
  protected final int regNum;
  
  protected static String getPrivilegedRegisterName(int regNum)
  {
    if (((regNum > 15) && (regNum < 31)) || (regNum > 31)) {
      return null;
    }
    return regNum == 31 ? "%ver" : regNames[regNum];
  }
  
  protected abstract String getDescription();
  
  protected SPARCV9PrivilegedRegisterInstruction(String name, int regNum)
  {
    super(name);
    this.regNum = regNum;
  }
  
  public int getPrivilegedRegisterNumber()
  {
    return regNum;
  }
  
  public String asString(long currentPc, SymbolFinder symFinder)
  {
    return getDescription();
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9PrivilegedRegisterInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public abstract interface SPARCV9PrivilegedRegisters
{
  public static final int TPC = 0;
  public static final int TNPC = 1;
  public static final int TSTATE = 2;
  public static final int TT = 3;
  public static final int TICK = 4;
  public static final int TBA = 5;
  public static final int PSTATE = 6;
  public static final int TL = 7;
  public static final int PIL = 8;
  public static final int CWP = 9;
  public static final int CANSAVE = 10;
  public static final int CANRESTORE = 11;
  public static final int CLEANWIN = 12;
  public static final int OTHERWIN = 13;
  public static final int WSTATE = 14;
  public static final int FQ = 15;
  public static final int VER = 31;
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9PrivilegedRegisters
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9RdprInstruction
  extends SPARCV9PrivilegedRegisterInstruction
{
  private final SPARCRegister rd;
  
  public SPARCV9RdprInstruction(int regNum, SPARCRegister rd)
  {
    super("rdpr", regNum);
    this.rd = rd;
  }
  
  protected String getDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(getPrivilegedRegisterName(regNum));
    buf.append(comma);
    buf.append(rd.toString());
    return buf.toString();
  }
  
  public SPARCRegister getDestination()
  {
    return rd;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9RdprInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.utilities.Assert;

public class SPARCV9ReadInstruction
  extends SPARCV9SpecialRegisterInstruction
{
  private final int specialReg;
  private final int asrRegNum;
  private final SPARCRegister rd;
  
  public SPARCV9ReadInstruction(int specialReg, int asrRegNum, SPARCRegister rd)
  {
    super("rd");
    this.specialReg = specialReg;
    this.asrRegNum = asrRegNum;
    this.rd = rd;
  }
  
  public int getSpecialRegister()
  {
    return specialReg;
  }
  
  public int getAncillaryRegister()
  {
    if (Assert.ASSERTS_ENABLED) {
      Assert.that(specialReg == 7, "not an ancillary register");
    }
    return asrRegNum;
  }
  
  protected String getDescription()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    if (specialReg == 7) {
      buf.append("%asr" + asrRegNum);
    } else {
      buf.append(getSpecialRegisterName(specialReg));
    }
    buf.append(comma);
    buf.append(rd.toString());
    return buf.toString();
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9ReadInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

import sun.jvm.hotspot.asm.Address;
import sun.jvm.hotspot.asm.BranchInstruction;
import sun.jvm.hotspot.asm.PCRelativeAddress;
import sun.jvm.hotspot.asm.SymbolFinder;

public class SPARCV9RegisterBranchInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction, BranchInstruction
{
  protected final PCRelativeAddress addr;
  protected final boolean isAnnuled;
  protected final int regConditionCode;
  protected final SPARCRegister conditionRegister;
  protected final boolean predictTaken;
  
  public SPARCV9RegisterBranchInstruction(String name, PCRelativeAddress addr, boolean isAnnuled, int regConditionCode, SPARCRegister conditionRegister, boolean predictTaken)
  {
    super(name);
    this.addr = addr;
    this.isAnnuled = isAnnuled;
    this.regConditionCode = regConditionCode;
    this.conditionRegister = conditionRegister;
    this.predictTaken = predictTaken;
  }
  
  public String asString(long currentPc, SymbolFinder symFinder)
  {
    long address = addr.getDisplacement() + currentPc;
    StringBuffer buf = new StringBuffer();
    buf.append(getName());
    buf.append(spaces);
    buf.append(symFinder.getSymbolFor(address));
    return buf.toString();
  }
  
  public boolean isBranch()
  {
    return true;
  }
  
  public Address getBranchDestination()
  {
    return addr;
  }
  
  public boolean isAnnuledBranch()
  {
    return isAnnuled;
  }
  
  public boolean isConditional()
  {
    return true;
  }
  
  public int getRegisterConditionCode()
  {
    return regConditionCode;
  }
  
  public SPARCRegister getConditionRegister()
  {
    return conditionRegister;
  }
  
  public boolean getPredictTaken()
  {
    return predictTaken;
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9RegisterBranchInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9RegisterIndirectAddress
  extends SPARCRegisterIndirectAddress
{
  protected boolean indirectAsi;
  
  public SPARCV9RegisterIndirectAddress(SPARCRegister register, int offset)
  {
    super(register, offset);
  }
  
  public SPARCV9RegisterIndirectAddress(SPARCRegister base, SPARCRegister index)
  {
    super(base, index);
  }
  
  public boolean getIndirectAsi()
  {
    return indirectAsi;
  }
  
  public void setIndirectAsi(boolean indirectAsi)
  {
    this.indirectAsi = indirectAsi;
  }
  
  public String toString()
  {
    StringBuffer buf = new StringBuffer();
    buf.append(getAddressWithoutAsi());
    if (indirectAsi) {
      buf.append("%asi");
    } else if (addressSpace != -1) {
      buf.append(Integer.toString(addressSpace));
    }
    return buf.toString();
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9RegisterIndirectAddress
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9RestoredInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  public SPARCV9RestoredInstruction()
  {
    super("restored");
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9RestoredInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9RetryInstruction
  extends SPARCInstruction
  implements SPARCV9Instruction
{
  public SPARCV9RetryInstruction()
  {
    super("retry");
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9RetryInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sparc;

public class SPARCV9ReturnInstruction
  extends SPARCRettInstruction
  implements SPARCV9Instruction
{
  public SPARCV9ReturnInstruction(SPARCRegisterIndirectAddress addr)
  {
    super("return", addr);
  }
}

/* Location:
 * Qualified Name:     sun.jvm.hotspot.asm.sparc.SPARCV9ReturnInstruction
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package sun.jvm.hotspot.asm.sp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2019. Infinite Loop Ltd