JaCIL Framework API

JaCIL.Compiler.Standard.Translator.Instruction Namespace

The standard instruction translator implementations.

Namespace hierarchy

Classes

Class Description
ArithmeticInstructionTranslator General translator for arithmetic operations.
ArrayCreateInstructionTranslator Translator for array creation.
ArrayElementInstructionTranslator Translator for array element access.
BoxInstructionTranslator Translator for boxing operations.
BranchBooleanInstructionTranslator General translator for comparisons and branch instructions.
BranchCompareInstructionTranslator General translator for comparisons and branch instructions.
CallInstructionTranslator Translation for method invocation.
CheckFiniteInstructionTranslator Translates the ckfinite instruction.
ClassOperationInstructionTranslator Translation for straight class cast operations.
CloneEmitter Emitter to invoke a clone operation.
ConstantInstructionTranslator General translator for constant loading.
ConstantLoadArithmeticInstructionTranslator Translator that loads an integer-type constant before its operation.
ConversionEmitter Emitter to assist in conversions.
ConversionInstructionTranslator Translation for method invocation.
EndHandlerInstructionTranslator General translator for handler terminators. The depth of the instruction in the handler is used to determine which variable to use for the return address.
FieldInstructionTranslator Translation for method invocation.
FieldValueTypeEmitter Emitter to create static/instance value type emitters
IndirectOperationEmitter Emitter to create pointer indirection.
IndirectOperationInstructionTranslator General translator for indirect store and load.
InitObjectInstructionTranslator Translator for the initobj instruction.
LeaveInstructionTranslator Translator for the protected block leave instruction.
LoadArrayElementAddressInstructionTranslator Translator for array element address load.
LoadFieldAddressInstructionTranslator Translator for field address load.
LoadLocalAddressInstructionTranslator General translator for address load for locals.
NewDupEmitter Emitter to create new/dup sequences.
NewValueTypeEmitter Emitter to create value type instances which always use a parameterless constructor.
PushPopLocalEmitter Base emitter for push/pop local intermediate emitters.
RethrowInstructionTranslator Rethrow translator. The depth of the instruction in the handler is used to determine which variable to use for the return address.
ReturnInstructionTranslator Translation for method return.
SimpleBranchInstructionTranslator General translator for comparisons and branch instructions.
SimpleEmitter Emitter to assist in conversions.
SimpleInstructionTranslator Translation for straight 1-to-1 translations.
StackInstructionTranslator Translation for stack operations
SwitchInstructionTranslator Translator for the switch instruction
UnboxInstructionTranslator Translator for un-boxing operations.
VariableInstructionTranslator General translator for local loading.

Enumerations

Enumeration Description
Compare Represents the different types of comparison operations in the JVM. The values correspond to the offsets of the IF_ICMP<OP> and IF<OP> variants.