org.jikesrvm.compilers.opt.mir2mc
Class AssemblerDriver
java.lang.Object
org.jikesrvm.compilers.opt.driver.CompilerPhase
org.jikesrvm.compilers.opt.mir2mc.AssemblerDriver
- All Implemented Interfaces:
- Constants, HeapLayoutConstants, ThinLockConstants, TIBLayoutConstants, SizeConstants
final class AssemblerDriver
- extends CompilerPhase
- implements Constants
A compiler phase that generates machine code instructions and maps.
Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
Fields inherited from interface org.jikesrvm.SizeConstants |
BITS_IN_ADDRESS, BITS_IN_BOOLEAN, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_DOUBLE, BITS_IN_EXTENT, BITS_IN_FLOAT, BITS_IN_INT, BITS_IN_LONG, BITS_IN_OFFSET, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BOOLEAN, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_DOUBLE, BYTES_IN_EXTENT, BYTES_IN_FLOAT, BYTES_IN_INT, BYTES_IN_LONG, BYTES_IN_OFFSET, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BOOLEAN, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_DOUBLE, LOG_BITS_IN_EXTENT, LOG_BITS_IN_FLOAT, LOG_BITS_IN_INT, LOG_BITS_IN_LONG, LOG_BITS_IN_OFFSET, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_BOOLEAN, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_DOUBLE, LOG_BYTES_IN_EXTENT, LOG_BYTES_IN_FLOAT, LOG_BYTES_IN_INT, LOG_BYTES_IN_LONG, LOG_BYTES_IN_OFFSET, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD |
Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AssemblerDriver
AssemblerDriver()
getName
public String getName()
- Specified by:
getName
in class CompilerPhase
- Returns:
- a String which is the name of the phase.
printingEnabled
public boolean printingEnabled(OptOptions options,
boolean before)
- Description copied from class:
CompilerPhase
- Returns true if the phase wants the IR dumped before and/or after it runs.
By default, printing is not enabled.
Subclasses should override this method if they want to provide IR dumping.
- Overrides:
printingEnabled
in class CompilerPhase
- Parameters:
options
- the compiler options for the compilationbefore
- true when invoked before perform, false otherwise.
- Returns:
- true if the IR should be printed, false otherwise.
newExecution
public CompilerPhase newExecution(IR ir)
- Description copied from class:
CompilerPhase
- This method is called immediately before performPhase. Phases
that do not need to create a new instance for each execution may
override this method to return this, but this must be done
carefully! Classes that don't override this method need to
override getClassConstructor.
- Overrides:
newExecution
in class CompilerPhase
- Parameters:
ir
- the IR that is about to be passed to performPhase
- Returns:
- an opt compiler phase on which performPhase may be invoked.
perform
public void perform(IR ir)
- Description copied from class:
CompilerPhase
- This is the method that actually does the work of the phase.
- Specified by:
perform
in class CompilerPhase
- Parameters:
ir
- the IR on which to apply the phase
verify
public void verify(IR ir)
- Description copied from class:
CompilerPhase
- Verify the IR.
Written as a non-final virtual method to allow late stages in the
compilation pipeline (eg ConvertMIR2MC) to skip verification.
- Overrides:
verify
in class CompilerPhase
- Parameters:
ir
- the IR to verify