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 |
NUM_BITS_RC, NUM_BITS_TID, TL_FAT_LOCK_MASK, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, 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_FLOAT, BITS_IN_INT, BITS_IN_LONG, 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_FLOAT, BYTES_IN_INT, BYTES_IN_LONG, 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_FLOAT, LOG_BITS_IN_INT, LOG_BITS_IN_LONG, 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_FLOAT, LOG_BYTES_IN_INT, LOG_BYTES_IN_LONG, 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