joeq.Compiler.Quad
Class Operator.Special
java.lang.Object
joeq.Compiler.Quad.Operator
joeq.Compiler.Quad.Operator.Special
- Direct Known Subclasses:
- Operator.Special.ALLOCA, Operator.Special.ATOMICADD_I, Operator.Special.ATOMICAND_I, Operator.Special.ATOMICCAS4, Operator.Special.ATOMICCAS8, Operator.Special.ATOMICSUB_I, Operator.Special.GET_BASE_POINTER, Operator.Special.GET_EAX, Operator.Special.GET_EXCEPTION, Operator.Special.GET_STACK_POINTER, Operator.Special.GET_THREAD_BLOCK, Operator.Special.INVOKE_L, Operator.Special.INVOKE_P, Operator.Special.ISEQ, Operator.Special.ISGE, Operator.Special.LONG_JUMP, Operator.Special.NOP, Operator.Special.POP_FP32, Operator.Special.POP_FP64, Operator.Special.PUSH_FP32, Operator.Special.PUSH_FP64, Operator.Special.PUSHARG_I, Operator.Special.PUSHARG_P, Operator.Special.SET_THREAD_BLOCK
- Enclosing class:
- Operator
public abstract static class Operator.Special
- extends Operator
Nested classes/interfaces inherited from class joeq.Compiler.Quad.Operator |
Operator.ALength, Operator.ALoad, Operator.AStore, Operator.Binary, Operator.BoundsCheck, Operator.Branch, Operator.CheckCast, Operator.Getfield, Operator.Getstatic, Operator.Goto, Operator.InstanceOf, Operator.IntIfCmp, Operator.Invoke, Operator.Jsr, Operator.LookupSwitch, Operator.MemLoad, Operator.MemStore, Operator.Monitor, Operator.Move, Operator.New, Operator.NewArray, Operator.NullCheck, Operator.Phi, Operator.Putfield, Operator.Putstatic, Operator.Ret, Operator.Return, Operator.Special, Operator.StoreCheck, Operator.TableSwitch, Operator.Unary, Operator.ZeroCheck |
Fields inherited from class joeq.Compiler.Quad.Operator |
_delegate, anyexception, arithexception, arrayboundsexception, arraystoreexception, classcastexceptions, illegalmonitorstateexception, negativesizeexception, noexceptions, noregisters, nullptrexception, resolutionexceptions |
Method Summary |
void |
accept(Quad q,
QuadVisitor qv)
|
static Quad |
create(int id,
Operator.Special.ALLOCA operator,
Operand.RegisterOperand res,
Operand val)
|
static Quad |
create(int id,
Operator.Special.ATOMICADD_I operator,
Operand loc,
Operand val)
|
static Quad |
create(int id,
Operator.Special.ATOMICAND_I operator,
Operand loc,
Operand val)
|
static Quad |
create(int id,
Operator.Special.ATOMICCAS4 operator,
Operand.RegisterOperand res,
Operand loc,
Operand val1,
Operand val2)
|
static Quad |
create(int id,
Operator.Special.ATOMICCAS8 operator,
Operand.RegisterOperand res,
Operand loc,
Operand val1,
Operand val2)
|
static Quad |
create(int id,
Operator.Special.ATOMICSUB_I operator,
Operand loc,
Operand val)
|
static Quad |
create(int id,
Operator.Special.GET_BASE_POINTER operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.GET_EAX operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.GET_EXCEPTION operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.GET_STACK_POINTER operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.GET_THREAD_BLOCK operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.INVOKE_L operator,
Operand.RegisterOperand res,
Operand val)
|
static Quad |
create(int id,
Operator.Special.INVOKE_P operator,
Operand.RegisterOperand res,
Operand val)
|
static Quad |
create(int id,
Operator.Special.ISEQ operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.ISGE operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.LONG_JUMP operator,
Operand ip,
Operand fp,
Operand sp,
Operand eax)
|
static Quad |
create(int id,
Operator.Special.NOP operator)
|
static Quad |
create(int id,
Operator.Special.POP_FP32 operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.POP_FP64 operator,
Operand.RegisterOperand res)
|
static Quad |
create(int id,
Operator.Special.PUSH_FP32 operator,
Operand val)
|
static Quad |
create(int id,
Operator.Special.PUSH_FP64 operator,
Operand val)
|
static Quad |
create(int id,
Operator.Special.PUSHARG_I operator,
Operand val)
|
static Quad |
create(int id,
Operator.Special.PUSHARG_P operator,
Operand val)
|
static Quad |
create(int id,
Operator.Special.SET_THREAD_BLOCK operator,
Operand val)
|
static Operand |
getOp1(Quad q)
|
static Operand |
getOp2(Quad q)
|
static Operand |
getOp3(Quad q)
|
static Operand |
getOp4(Quad q)
|
boolean |
hasSideEffects()
|
static void |
setOp1(Quad q,
Operand o)
|
static void |
setOp2(Quad q,
Operand o)
|
static void |
setOp3(Quad q,
Operand o)
|
static void |
setOp4(Quad q,
Operand o)
|
Methods inherited from class joeq.Compiler.Quad.Operator |
getDefinedRegisters, getReg1_check, getReg1, getReg12, getReg123, getReg1234, getReg124, getReg2, getReg23, getReg234, getReg24, getReg3, getThrownExceptions, getUsedRegisters, interpret |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Operator.Special
public Operator.Special()
create
public static Quad create(int id,
Operator.Special.GET_EXCEPTION operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.GET_BASE_POINTER operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.GET_STACK_POINTER operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.GET_THREAD_BLOCK operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.SET_THREAD_BLOCK operator,
Operand val)
create
public static Quad create(int id,
Operator.Special.ALLOCA operator,
Operand.RegisterOperand res,
Operand val)
create
public static Quad create(int id,
Operator.Special.NOP operator)
create
public static Quad create(int id,
Operator.Special.ATOMICADD_I operator,
Operand loc,
Operand val)
create
public static Quad create(int id,
Operator.Special.ATOMICSUB_I operator,
Operand loc,
Operand val)
create
public static Quad create(int id,
Operator.Special.ATOMICAND_I operator,
Operand loc,
Operand val)
create
public static Quad create(int id,
Operator.Special.ATOMICCAS4 operator,
Operand.RegisterOperand res,
Operand loc,
Operand val1,
Operand val2)
create
public static Quad create(int id,
Operator.Special.ATOMICCAS8 operator,
Operand.RegisterOperand res,
Operand loc,
Operand val1,
Operand val2)
create
public static Quad create(int id,
Operator.Special.LONG_JUMP operator,
Operand ip,
Operand fp,
Operand sp,
Operand eax)
create
public static Quad create(int id,
Operator.Special.POP_FP32 operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.POP_FP64 operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.PUSH_FP32 operator,
Operand val)
create
public static Quad create(int id,
Operator.Special.PUSH_FP64 operator,
Operand val)
create
public static Quad create(int id,
Operator.Special.GET_EAX operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.PUSHARG_I operator,
Operand val)
create
public static Quad create(int id,
Operator.Special.PUSHARG_P operator,
Operand val)
create
public static Quad create(int id,
Operator.Special.INVOKE_L operator,
Operand.RegisterOperand res,
Operand val)
create
public static Quad create(int id,
Operator.Special.INVOKE_P operator,
Operand.RegisterOperand res,
Operand val)
create
public static Quad create(int id,
Operator.Special.ISEQ operator,
Operand.RegisterOperand res)
create
public static Quad create(int id,
Operator.Special.ISGE operator,
Operand.RegisterOperand res)
getOp1
public static Operand getOp1(Quad q)
getOp2
public static Operand getOp2(Quad q)
getOp3
public static Operand getOp3(Quad q)
getOp4
public static Operand getOp4(Quad q)
setOp1
public static void setOp1(Quad q,
Operand o)
setOp2
public static void setOp2(Quad q,
Operand o)
setOp3
public static void setOp3(Quad q,
Operand o)
setOp4
public static void setOp4(Quad q,
Operand o)
hasSideEffects
public boolean hasSideEffects()
- Specified by:
hasSideEffects
in class Operator
accept
public void accept(Quad q,
QuadVisitor qv)
- Overrides:
accept
in class Operator
Copyright © 2001-2008 John Whaley. All Rights Reserved.