Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Compil3r.Quad.x86
Class SimpleCompiler  view SimpleCompiler download SimpleCompiler.java

java.lang.Object
  extended byCompil3r.Quad.x86.SimpleCompiler
All Implemented Interfaces:
Compil3r.Quad.BasicBlockVisitor, Compil3r.Quad.QuadVisitor, Assembler.x86.x86Constants

public class SimpleCompiler
extends java.lang.Object
implements Assembler.x86.x86Constants, Compil3r.Quad.BasicBlockVisitor, Compil3r.Quad.QuadVisitor

Version:
$Id: SimpleCompiler.java,v 1.12 2003/05/12 10:05:16 joewhaley Exp $

Nested Class Summary
static class SimpleCompiler.Factory
           
 
Nested classes inherited from class Compil3r.Quad.BasicBlockVisitor
Compil3r.Quad.BasicBlockVisitor.AllBasicBlockVisitor, Compil3r.Quad.BasicBlockVisitor.EmptyVisitor
 
Nested classes inherited from class Compil3r.Quad.QuadVisitor
Compil3r.Quad.QuadVisitor.AllQuadVisitor, Compil3r.Quad.QuadVisitor.EmptyVisitor
 
Field Summary
static boolean ALWAYS_TRACE
           
private  Assembler.x86.x86Assembler asm
           
 Compil3r.Quad.ControlFlowGraph cfg
           
private  java.util.List code_relocs
           
private  java.util.List data_relocs
           
static int DEFAULT_ALIGNMENT
           
(package private)  boolean handled
           
 Clazz.jq_Method method
           
private  int n_paramwords
           
 java.util.Map registerLocations
           
static int THREAD_BLOCK_OFFSET
           
static byte THREAD_BLOCK_PREFIX
           
 boolean TRACE
           
static boolean TRACE_STUBS
           
 boolean TraceArguments
           
static java.util.Set TraceMethod_ClassNames
           
static java.util.Set TraceMethod_MethodNames
           
 boolean TraceMethods
           
static java.util.Set TraceQuad_ClassNames
           
static java.util.Set TraceQuad_MethodNames
           
 boolean TraceQuads
           
 
Fields inherited from interface Assembler.x86.x86Constants
AL, AX, BOUNDS_EX_NUM, CACHE_LINE_SIZE, CJUMP_NEAR, CJUMP_SHORT, COMPLEX, EAX, EBP, EBX, ECX, EDI, EDX, ESI, ESP, JUMP_NEAR, JUMP_SHORT, MOD_DISP32, MOD_DISP8, MOD_EA, MOD_REG, NP, PU, PV, RA, RM_SIB, SCALE_1, SCALE_2, SCALE_4, SCALE_8, SEIMM8, SHIFT_ONCE, UV
 
Constructor Summary
SimpleCompiler()
           
SimpleCompiler(Compil3r.Quad.ControlFlowGraph cfg)
           
SimpleCompiler(Clazz.jq_Method m)
           
 
Method Summary
private  void branchHelper(byte op, Compil3r.Quad.BasicBlock target)
           
 Clazz.jq_CompiledCode compile()
           
 void emitCallMemory(Clazz.jq_StaticField f)
           
static void emitCallMemory(Clazz.jq_StaticField f, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
 void emitCallRelative(Clazz.jq_Method target)
           
static void emitCallRelative(Clazz.jq_Method target, Assembler.x86.x86Assembler asm, java.util.List code_relocs)
           
 void emitFLD64(Clazz.jq_StaticField f)
           
static void emitFLD64(Clazz.jq_StaticField f, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
 void emitPopMemory(Clazz.jq_StaticField f)
           
static void emitPopMemory(Clazz.jq_StaticField f, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
 void emitPopMemory8(Clazz.jq_StaticField f)
           
static void emitPopMemory8(Clazz.jq_StaticField f, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
 void emitPushAddressOf(java.lang.Object o)
           
static void emitPushAddressOf(java.lang.Object o, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
 void emitPushMemory(Clazz.jq_StaticField f)
           
static void emitPushMemory(Clazz.jq_StaticField f, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
 void emitPushMemory8(Clazz.jq_StaticField f)
           
static void emitPushMemory8(Clazz.jq_StaticField f, Assembler.x86.x86Assembler asm, java.util.List data_relocs)
           
static Clazz.jq_CompiledCode generate_compile_stub(Clazz.jq_Method method)
           
 java.util.List getCodeRelocs()
           
 java.util.List getDataRelocs()
           
private  int getPairedRegister(int register)
           
(package private)  int getParamOffset(int i)
           
(package private)  int getStackFrameWords()
           
(package private)  int getStackOffset(Compil3r.Quad.Operand.RegisterOperand r)
           
(package private)  int getStackOffset(Compil3r.Quad.RegisterFactory.Register r)
           
 void init(Compil3r.Quad.ControlFlowGraph cfg)
           
 void init(Clazz.jq_Method m)
           
(package private)  void initializeRegisterLocations()
           
private  void INVOKEDPATCHhelper(byte op, Clazz.jq_Method f)
           
private  void INVOKEhelper(byte op, Clazz.jq_Method f)
           
private  void INVOKENODPATCHhelper(byte op, Clazz.jq_Method f)
           
private  void loadOperand(Compil3r.Quad.Operand o, int register)
           
static void main(java.lang.String[] args)
           
private  void storeOperand(Compil3r.Quad.Operand.RegisterOperand o, int register)
           
private  void SYNCHEXIThelper()
           
private  void toIntHelper()
           
private  void toLongHelper()
           
 java.lang.String toString()
          Convert this Object to a human-readable String.
 void visitALength(Compil3r.Quad.Quad obj)
          An array length instruction.
 void visitAllocation(Compil3r.Quad.Quad obj)
          An instruction.that does an allocation.
 void visitALoad(Compil3r.Quad.Quad obj)
          An array load instruction.
 void visitArray(Compil3r.Quad.Quad obj)
          An instruction.that accesses an array.
 void visitAStore(Compil3r.Quad.Quad obj)
          An array store instruction.
 void visitBasicBlock(Compil3r.Quad.BasicBlock bb)
          Visit a basic block.
 void visitBinary(Compil3r.Quad.Quad obj)
          A binary operation instruction.
 void visitBoundsCheck(Compil3r.Quad.Quad obj)
          An array bounds check instruction.
 void visitBranch(Compil3r.Quad.Quad obj)
          An instruction that may branch (not including exceptional control flow).
 void visitCheck(Compil3r.Quad.Quad obj)
          An exception check instruction.
 void visitCheckCast(Compil3r.Quad.Quad obj)
          A type cast check instruction.
 void visitCondBranch(Compil3r.Quad.Quad obj)
          A conditional branch instruction.
 void visitExceptionThrower(Compil3r.Quad.Quad obj)
          A potentially excepting instruction..
 void visitGetfield(Compil3r.Quad.Quad obj)
          A get instance field instruction.
 void visitGetstatic(Compil3r.Quad.Quad obj)
          A get static field instruction.
 void visitGoto(Compil3r.Quad.Quad obj)
          A goto instruction.
 void visitInstanceField(Compil3r.Quad.Quad obj)
          An instruction.that accesses an instance field.
 void visitInstanceOf(Compil3r.Quad.Quad obj)
          A type instance of instruction.
 void visitIntIfCmp(Compil3r.Quad.Quad obj)
          A compare and branch instruction.
 void visitInvoke(Compil3r.Quad.Quad obj)
          An invoke instruction.
 void visitJsr(Compil3r.Quad.Quad obj)
          A jump local subroutine instruction.
 void visitLoad(Compil3r.Quad.Quad obj)
          An instruction that loads from memory.
 void visitLookupSwitch(Compil3r.Quad.Quad obj)
          A lookup switch instruction.
 void visitMemLoad(Compil3r.Quad.Quad obj)
          A raw memory load instruction.
 void visitMemStore(Compil3r.Quad.Quad obj)
          A raw memory store instruction.
 void visitMonitor(Compil3r.Quad.Quad obj)
          An object monitor lock/unlock instruction.
 void visitMove(Compil3r.Quad.Quad obj)
          A register move instruction.
 void visitNew(Compil3r.Quad.Quad obj)
          An object allocation instruction.
 void visitNewArray(Compil3r.Quad.Quad obj)
          An array allocation instruction.
 void visitNullCheck(Compil3r.Quad.Quad obj)
          A null pointer check instruction.
 void visitPutfield(Compil3r.Quad.Quad obj)
          A put instance field instruction.
 void visitPutstatic(Compil3r.Quad.Quad obj)
          A put static field instruction.
 void visitQuad(Compil3r.Quad.Quad obj)
          Any quad.
 void visitRet(Compil3r.Quad.Quad obj)
          A return from local subroutine instruction.
 void visitReturn(Compil3r.Quad.Quad obj)
          A return from method instruction.
 void visitSpecial(Compil3r.Quad.Quad obj)
          A special instruction.
 void visitStaticField(Compil3r.Quad.Quad obj)
          An instruction.that accesses a static field.
 void visitStore(Compil3r.Quad.Quad obj)
          An instruction that stores into memory.
 void visitStoreCheck(Compil3r.Quad.Quad obj)
          An object array store type check instruction.
 void visitTableSwitch(Compil3r.Quad.Quad obj)
          A jump table switch instruction.
 void visitTypeCheck(Compil3r.Quad.Quad obj)
          An instruction.that does a type check.
 void visitUnary(Compil3r.Quad.Quad obj)
          A unary operation instruction.
 void visitZeroCheck(Compil3r.Quad.Quad obj)
          A divide-by-zero check instruction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ALWAYS_TRACE

public static boolean ALWAYS_TRACE

TRACE_STUBS

public static boolean TRACE_STUBS

TraceMethod_MethodNames

public static final java.util.Set TraceMethod_MethodNames

TraceMethod_ClassNames

public static final java.util.Set TraceMethod_ClassNames

TraceQuad_MethodNames

public static final java.util.Set TraceQuad_MethodNames

TraceQuad_ClassNames

public static final java.util.Set TraceQuad_ClassNames

TraceQuads

public boolean TraceQuads

TraceMethods

public boolean TraceMethods

TraceArguments

public boolean TraceArguments

DEFAULT_ALIGNMENT

public static final int DEFAULT_ALIGNMENT
See Also:
Constant Field Values

cfg

public Compil3r.Quad.ControlFlowGraph cfg

method

public Clazz.jq_Method method

registerLocations

public java.util.Map registerLocations

TRACE

public boolean TRACE

asm

private Assembler.x86.x86Assembler asm

n_paramwords

private int n_paramwords

code_relocs

private java.util.List code_relocs

data_relocs

private java.util.List data_relocs

THREAD_BLOCK_PREFIX

public static byte THREAD_BLOCK_PREFIX

THREAD_BLOCK_OFFSET

public static int THREAD_BLOCK_OFFSET

handled

boolean handled
Constructor Detail

SimpleCompiler

public SimpleCompiler()

SimpleCompiler

public SimpleCompiler(Compil3r.Quad.ControlFlowGraph cfg)

SimpleCompiler

public SimpleCompiler(Clazz.jq_Method m)
Method Detail

init

public void init(Clazz.jq_Method m)

init

public void init(Compil3r.Quad.ControlFlowGraph cfg)

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).


emitCallRelative

public final void emitCallRelative(Clazz.jq_Method target)

emitCallRelative

public static final void emitCallRelative(Clazz.jq_Method target,
                                          Assembler.x86.x86Assembler asm,
                                          java.util.List code_relocs)

emitPushAddressOf

public final void emitPushAddressOf(java.lang.Object o)

emitPushAddressOf

public static final void emitPushAddressOf(java.lang.Object o,
                                           Assembler.x86.x86Assembler asm,
                                           java.util.List data_relocs)

emitPushMemory

public final void emitPushMemory(Clazz.jq_StaticField f)

emitPushMemory

public static final void emitPushMemory(Clazz.jq_StaticField f,
                                        Assembler.x86.x86Assembler asm,
                                        java.util.List data_relocs)

emitPushMemory8

public final void emitPushMemory8(Clazz.jq_StaticField f)

emitPushMemory8

public static final void emitPushMemory8(Clazz.jq_StaticField f,
                                         Assembler.x86.x86Assembler asm,
                                         java.util.List data_relocs)

emitPopMemory

public final void emitPopMemory(Clazz.jq_StaticField f)

emitPopMemory

public static final void emitPopMemory(Clazz.jq_StaticField f,
                                       Assembler.x86.x86Assembler asm,
                                       java.util.List data_relocs)

emitPopMemory8

public final void emitPopMemory8(Clazz.jq_StaticField f)

emitPopMemory8

public static final void emitPopMemory8(Clazz.jq_StaticField f,
                                        Assembler.x86.x86Assembler asm,
                                        java.util.List data_relocs)

emitCallMemory

public final void emitCallMemory(Clazz.jq_StaticField f)

emitCallMemory

public static final void emitCallMemory(Clazz.jq_StaticField f,
                                        Assembler.x86.x86Assembler asm,
                                        java.util.List data_relocs)

emitFLD64

public final void emitFLD64(Clazz.jq_StaticField f)

emitFLD64

public static final void emitFLD64(Clazz.jq_StaticField f,
                                   Assembler.x86.x86Assembler asm,
                                   java.util.List data_relocs)

getCodeRelocs

public final java.util.List getCodeRelocs()

getDataRelocs

public final java.util.List getDataRelocs()

generate_compile_stub

public static final Clazz.jq_CompiledCode generate_compile_stub(Clazz.jq_Method method)

getParamOffset

int getParamOffset(int i)

getStackOffset

int getStackOffset(Compil3r.Quad.Operand.RegisterOperand r)

getStackOffset

int getStackOffset(Compil3r.Quad.RegisterFactory.Register r)

getStackFrameWords

int getStackFrameWords()

initializeRegisterLocations

void initializeRegisterLocations()

compile

public final Clazz.jq_CompiledCode compile()

visitBasicBlock

public void visitBasicBlock(Compil3r.Quad.BasicBlock bb)
Description copied from interface: Compil3r.Quad.BasicBlockVisitor
Visit a basic block.

Specified by:
visitBasicBlock in interface Compil3r.Quad.BasicBlockVisitor

getPairedRegister

private int getPairedRegister(int register)

loadOperand

private void loadOperand(Compil3r.Quad.Operand o,
                         int register)

storeOperand

private void storeOperand(Compil3r.Quad.Operand.RegisterOperand o,
                          int register)

visitExceptionThrower

public void visitExceptionThrower(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A potentially excepting instruction..

Specified by:
visitExceptionThrower in interface Compil3r.Quad.QuadVisitor

visitLoad

public void visitLoad(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction that loads from memory.

Specified by:
visitLoad in interface Compil3r.Quad.QuadVisitor

visitStore

public void visitStore(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction that stores into memory.

Specified by:
visitStore in interface Compil3r.Quad.QuadVisitor

visitBranch

public void visitBranch(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction that may branch (not including exceptional control flow).

Specified by:
visitBranch in interface Compil3r.Quad.QuadVisitor

visitCondBranch

public void visitCondBranch(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A conditional branch instruction.

Specified by:
visitCondBranch in interface Compil3r.Quad.QuadVisitor

visitCheck

public void visitCheck(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An exception check instruction.

Specified by:
visitCheck in interface Compil3r.Quad.QuadVisitor

visitStaticField

public void visitStaticField(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction.that accesses a static field.

Specified by:
visitStaticField in interface Compil3r.Quad.QuadVisitor

visitInstanceField

public void visitInstanceField(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction.that accesses an instance field.

Specified by:
visitInstanceField in interface Compil3r.Quad.QuadVisitor

visitArray

public void visitArray(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction.that accesses an array.

Specified by:
visitArray in interface Compil3r.Quad.QuadVisitor

visitAllocation

public void visitAllocation(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction.that does an allocation.

Specified by:
visitAllocation in interface Compil3r.Quad.QuadVisitor

visitTypeCheck

public void visitTypeCheck(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An instruction.that does a type check.

Specified by:
visitTypeCheck in interface Compil3r.Quad.QuadVisitor

visitALoad

public void visitALoad(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An array load instruction.

Specified by:
visitALoad in interface Compil3r.Quad.QuadVisitor

visitAStore

public void visitAStore(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An array store instruction.

Specified by:
visitAStore in interface Compil3r.Quad.QuadVisitor

visitALength

public void visitALength(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An array length instruction.

Specified by:
visitALength in interface Compil3r.Quad.QuadVisitor

visitBinary

public void visitBinary(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A binary operation instruction.

Specified by:
visitBinary in interface Compil3r.Quad.QuadVisitor

visitBoundsCheck

public void visitBoundsCheck(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An array bounds check instruction.

Specified by:
visitBoundsCheck in interface Compil3r.Quad.QuadVisitor

visitCheckCast

public void visitCheckCast(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A type cast check instruction.

Specified by:
visitCheckCast in interface Compil3r.Quad.QuadVisitor

visitGetfield

public void visitGetfield(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A get instance field instruction.

Specified by:
visitGetfield in interface Compil3r.Quad.QuadVisitor

visitGetstatic

public void visitGetstatic(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A get static field instruction.

Specified by:
visitGetstatic in interface Compil3r.Quad.QuadVisitor

visitGoto

public void visitGoto(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A goto instruction.

Specified by:
visitGoto in interface Compil3r.Quad.QuadVisitor

branchHelper

private void branchHelper(byte op,
                          Compil3r.Quad.BasicBlock target)

visitInstanceOf

public void visitInstanceOf(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A type instance of instruction.

Specified by:
visitInstanceOf in interface Compil3r.Quad.QuadVisitor

visitIntIfCmp

public void visitIntIfCmp(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A compare and branch instruction.

Specified by:
visitIntIfCmp in interface Compil3r.Quad.QuadVisitor

INVOKEDPATCHhelper

private void INVOKEDPATCHhelper(byte op,
                                Clazz.jq_Method f)

INVOKENODPATCHhelper

private void INVOKENODPATCHhelper(byte op,
                                  Clazz.jq_Method f)

INVOKEhelper

private void INVOKEhelper(byte op,
                          Clazz.jq_Method f)

visitInvoke

public void visitInvoke(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An invoke instruction.

Specified by:
visitInvoke in interface Compil3r.Quad.QuadVisitor

visitJsr

public void visitJsr(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A jump local subroutine instruction.

Specified by:
visitJsr in interface Compil3r.Quad.QuadVisitor

visitLookupSwitch

public void visitLookupSwitch(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A lookup switch instruction.

Specified by:
visitLookupSwitch in interface Compil3r.Quad.QuadVisitor

visitMemLoad

public void visitMemLoad(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A raw memory load instruction.

Specified by:
visitMemLoad in interface Compil3r.Quad.QuadVisitor

visitMemStore

public void visitMemStore(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A raw memory store instruction.

Specified by:
visitMemStore in interface Compil3r.Quad.QuadVisitor

visitMonitor

public void visitMonitor(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An object monitor lock/unlock instruction.

Specified by:
visitMonitor in interface Compil3r.Quad.QuadVisitor

visitMove

public void visitMove(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A register move instruction.

Specified by:
visitMove in interface Compil3r.Quad.QuadVisitor

visitNew

public void visitNew(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An object allocation instruction.

Specified by:
visitNew in interface Compil3r.Quad.QuadVisitor

visitNewArray

public void visitNewArray(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An array allocation instruction.

Specified by:
visitNewArray in interface Compil3r.Quad.QuadVisitor

visitNullCheck

public void visitNullCheck(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A null pointer check instruction.

Specified by:
visitNullCheck in interface Compil3r.Quad.QuadVisitor

visitPutfield

public void visitPutfield(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A put instance field instruction.

Specified by:
visitPutfield in interface Compil3r.Quad.QuadVisitor

visitPutstatic

public void visitPutstatic(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A put static field instruction.

Specified by:
visitPutstatic in interface Compil3r.Quad.QuadVisitor

visitRet

public void visitRet(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A return from local subroutine instruction.

Specified by:
visitRet in interface Compil3r.Quad.QuadVisitor

visitReturn

public void visitReturn(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A return from method instruction.

Specified by:
visitReturn in interface Compil3r.Quad.QuadVisitor

SYNCHEXIThelper

private void SYNCHEXIThelper()

visitSpecial

public void visitSpecial(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A special instruction.

Specified by:
visitSpecial in interface Compil3r.Quad.QuadVisitor

visitStoreCheck

public void visitStoreCheck(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
An object array store type check instruction.

Specified by:
visitStoreCheck in interface Compil3r.Quad.QuadVisitor

visitTableSwitch

public void visitTableSwitch(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A jump table switch instruction.

Specified by:
visitTableSwitch in interface Compil3r.Quad.QuadVisitor

visitUnary

public void visitUnary(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A unary operation instruction.

Specified by:
visitUnary in interface Compil3r.Quad.QuadVisitor

toIntHelper

private void toIntHelper()

toLongHelper

private void toLongHelper()

visitZeroCheck

public void visitZeroCheck(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
A divide-by-zero check instruction.

Specified by:
visitZeroCheck in interface Compil3r.Quad.QuadVisitor

visitQuad

public void visitQuad(Compil3r.Quad.Quad obj)
Description copied from interface: Compil3r.Quad.QuadVisitor
Any quad.

Specified by:
visitQuad in interface Compil3r.Quad.QuadVisitor

main

public static void main(java.lang.String[] args)