org.jikesrvm.compilers.common.assembler
Class AbstractAssembler

java.lang.Object
  extended by org.jikesrvm.compilers.common.assembler.AbstractAssembler
Direct Known Subclasses:
Assembler

public abstract class AbstractAssembler
extends Object

This class has been created to work around a bug whereby the system seems to have gotten confused by the relationship between:

ForwardReference -> ForwardReference.ShortBranch -> Assembler.ShortBranch, and Assembler

This problem does not exist under IA32 since there is no need for Assembler.ShortBranch


Constructor Summary
AbstractAssembler()
           
 
Method Summary
abstract  void patchConditionalBranch(int sourceMachinecodeIndex)
           
abstract  void patchLoadReturnAddress(int sourceMachinecodeIndex)
           
abstract  void patchShortBranch(int sourceMachinecodeIndex)
           
abstract  void patchSwitchCase(int sourceMachinecodeIndex)
           
abstract  void patchUnconditionalBranch(int sourceMachinecodeIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAssembler

public AbstractAssembler()
Method Detail

patchShortBranch

public abstract void patchShortBranch(int sourceMachinecodeIndex)

patchUnconditionalBranch

public abstract void patchUnconditionalBranch(int sourceMachinecodeIndex)

patchConditionalBranch

public abstract void patchConditionalBranch(int sourceMachinecodeIndex)

patchSwitchCase

public abstract void patchSwitchCase(int sourceMachinecodeIndex)

patchLoadReturnAddress

public abstract void patchLoadReturnAddress(int sourceMachinecodeIndex)