Package | Description |
---|---|
org.apache.flex.abc.graph |
This package cotains interfaces that define the behavior of a flowgraph.
|
org.apache.flex.abc.instructionlist |
This package contains an assembly-language-like serialization of a method body.
|
org.apache.flex.abc.models |
This package contains higher-level models of a method body
and encoders to translate from the basic ABC model
into these higher-level models.
|
org.apache.flex.abc.optimize |
This package contains specialized visitors that transform their input
according to some figure of merit.
|
org.apache.flex.abc.semantics |
This package contains representations of the individual components of an ABC.
|
org.apache.flex.abc.visitors |
This package contains the most basic model of ABC, which uses visitors.
|
org.apache.flex.compiler.internal.as.codegen |
Modifier and Type | Method and Description |
---|---|
Instruction |
IBasicBlock.get(int idx)
Fetch the Instruction at the specified position.
|
Modifier and Type | Method and Description |
---|---|
List<Instruction> |
IBasicBlock.getInstructions()
Get the contents of the block.
|
Modifier and Type | Method and Description |
---|---|
Instruction |
InstructionList.addInstruction(Instruction insn)
Add an instruction to the sequence.
|
Instruction |
InstructionList.addInstruction(int opcode)
Convenience method adds an instruction with no operands.
|
Instruction |
InstructionList.addInstruction(int opcode,
int immed)
Convenience method adds an instruction with an immediate operand.
|
Instruction |
InstructionList.addInstruction(int opcode,
Object operand)
Convenience method adds an instruction with a single operand.
|
Instruction |
InstructionList.addInstruction(int opcode,
Object[] operands)
Convenience method adds an instruction with operands.
|
Instruction |
InstructionList.firstElement() |
Instruction |
InstructionList.lastElement() |
Modifier and Type | Method and Description |
---|---|
ArrayList<Instruction> |
InstructionList.getInstructions()
Fetch an InstructionList to which instructions can be appended.
|
Modifier and Type | Method and Description |
---|---|
Instruction |
InstructionList.addInstruction(Instruction insn)
Add an instruction to the sequence.
|
Modifier and Type | Method and Description |
---|---|
T |
FrameModelVisitor.branch(Instruction i,
IBasicBlock target)
Handle a branch instruction.
|
T |
FrameModelVisitor.consumeAndProduceValue(Instruction i,
int consumeCount)
Handle an instruction that consumes value stack elements,
and then pushes a new value onto the stack.
|
T |
FrameModelVisitor.consumeValue(Instruction i,
int count)
Handle an instruction that consumes value stack elements.
|
T |
FrameModelVisitor.dup(Instruction i)
Duplicate the top of the stack.
|
T |
FrameModelVisitor.getlocal(Instruction i,
int idx)
Get a local variable, leaving its value on the stack.
|
T |
FrameModelVisitor.getScopeobject(Instruction i,
int idx)
Get a value from the scope stack.
|
T |
FrameModelVisitor.hasnext2(Instruction i)
Special-case the hasnext2 instruction.
|
void |
FrameModelVisitor.modifyLocal(Instruction i,
int idx)
Modify (i.e., increment, decrement, or kill)
a local variable.
|
T |
FrameModelVisitor.moveValueToScopeStack(Instruction i)
Move the top of the value stack to the top
of the scope stack.
|
T |
FrameModelVisitor.multiwayBranch(Instruction i,
Collection<IBasicBlock> targets)
Handle a multibranch instruction.
|
T |
FrameModelVisitor.noFrameEffect(Instruction i)
Handle an instruction that does not affect the frame.
|
T |
FrameModelVisitor.popscope(Instruction i)
Pop the top of the scope stack.
|
T |
FrameModelVisitor.produceValue(Instruction i)
Handle an instruction that pushes a value onto the stack.
|
T |
TreeModelVisitor.scopeStackUnderflow(Instruction insn,
int count)
Recover from a scope stack underflow condition.
|
T |
FrameModelVisitor.setlocal(Instruction i,
int idx)
Set a local variable, comsuming a value from the stack.
|
T |
FrameModelVisitor.swap(Instruction i)
Swap the two top values on the stack.
|
T |
TreeModelVisitor.translate(Instruction insn,
Collection<T> operands)
Translate an Instruction and its operands into
an intermediate form.
|
T |
TreeModelVisitor.translateBranch(Instruction insn,
Collection<IBasicBlock> targets)
Translate a branch Instruction and its targets into
an intermediate form.
|
T |
TreeModelVisitor.valueStackUnderflow(Instruction insn,
int count)
Recover from a value stack underflow condition.
|
void |
FrameModelEncoder.visitInstruction(Instruction i)
Visit an Instruction within the most recently-visited Block.
|
Modifier and Type | Method and Description |
---|---|
void |
PeepholeOptimizerMethodBodyVisitor.visitInstruction(Instruction instruction) |
Modifier and Type | Class and Description |
---|---|
class |
ArbitraryOperandsInstruction
An ArbitraryOperandsInstruction holds an array of operands as specified by
the caller, or in some special cases as set by a fixup pass.
|
class |
ImmediateOperandInstruction
An Instruction implementation with one immediate operand.
|
class |
NoOperandsInstruction
NoOperandsInstruction is a trivial specialization of Instruction that
represents an instruction with no operands, e.g., OP_pop.
|
class |
OneOperandInstruction
A OneOperandInstruction is an instruction that is known to have only one
operand.
|
Modifier and Type | Method and Description |
---|---|
static Instruction |
InstructionFactory.createModifiedInstruction(int opcode,
Instruction original)
Copy an instruction's operands as necessary and substitute a new opcode.
|
Instruction |
Block.get(int idx) |
static Instruction |
InstructionFactory.getDeferredImmediateInstruction(int opcode) |
static Instruction |
InstructionFactory.getHasnext2Instruction() |
static Instruction |
InstructionFactory.getInstruction(int opcode) |
static Instruction |
InstructionFactory.getInstruction(int opcode,
int immediate) |
static Instruction |
InstructionFactory.getInstruction(int opcode,
Object singleOperand) |
static Instruction |
InstructionFactory.getInstruction(int opcode,
Object[] operands) |
static Instruction |
InstructionFactory.getTargetableInstruction(int opcode) |
Instruction |
MethodBodyInfo.insn(int opcode) |
Instruction |
MethodBodyInfo.insn(int opcode,
int immed) |
Instruction |
MethodBodyInfo.insn(int opcode,
Object pooledValue) |
Instruction |
MethodBodyInfo.insn(int opcode,
Object[] operands) |
Modifier and Type | Method and Description |
---|---|
List<Instruction> |
Block.getInstructions() |
Modifier and Type | Method and Description |
---|---|
static Instruction |
InstructionFactory.createModifiedInstruction(int opcode,
Instruction original)
Copy an instruction's operands as necessary and substitute a new opcode.
|
void |
MethodBodyInfo.insn(Instruction instruction) |
void |
FrameCountVisitor.visitInstruction(Instruction i)
Visit an Instruction within the most recently-visited Block.
|
Modifier and Type | Method and Description |
---|---|
void |
NilMethodBodyVisitor.visitInstruction(Instruction instruction) |
void |
IMethodBodyVisitor.visitInstruction(Instruction instruction)
Vist an instruction
|
void |
IFlowGraphVisitor.visitInstruction(Instruction insn)
Visit an Instruction within the most recently-visited Block.
|
void |
DelegatingMethodBodyVisitor.visitInstruction(Instruction instruction) |
Modifier and Type | Field and Description |
---|---|
static Instruction |
ABCGeneratingReducer.synthesizedReturnVoid
This returnvoid instruction is used when the reducer injects a returnvoid at
the end of a method body; the caller (with access to the MethodBodyInfo) can
create a control flow graph and search it to emit a diagnostic as appropriate.
|
Modifier and Type | Method and Description |
---|---|
Instruction |
Binding.declocal_i()
Fetch this Binding's declocal_i instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Instruction |
Binding.declocal()
Fetch this Binding's declocal instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Instruction |
Binding.getlocal()
Fetch this Binding's getlocal instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Instruction |
Binding.inclocal_i()
Fetch this Binding's inclocal_i instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Instruction |
Binding.inclocal()
Fetch this Binding's inclocal instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Instruction |
Binding.kill()
Fetch this Binding's kill instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Instruction |
InlineFunctionLexicalScope.setContainingClass() |
Instruction |
Binding.setlocal()
Fetch this Binding's setlocal instruction;
the Binding manages a single instruction
so that its register number can be assigned
at function wrap-up time.
|
Copyright © 2016 The Apache Software Foundation. All rights reserved.