Uses of Class
com.aparapi.internal.instruction.Instruction
Packages that use Instruction
Package
Description
-
Uses of Instruction in com.aparapi
Methods in com.aparapi with parameters of type InstructionModifier and TypeMethodDescriptionvoid
Config.InstructionListener.showAndTell
(String message, Instruction _start, Instruction _instruction) -
Uses of Instruction in com.aparapi.internal.exception
Fields in com.aparapi.internal.exception declared as InstructionMethods in com.aparapi.internal.exception that return InstructionConstructors in com.aparapi.internal.exception with parameters of type InstructionModifierConstructorDescriptionClassParseException
(Instruction _instruction, ClassParseException.TYPE _type) -
Uses of Instruction in com.aparapi.internal.instruction
Subclasses of Instruction in com.aparapi.internal.instructionModifier and TypeClassDescriptionstatic class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
static class
Fields in com.aparapi.internal.instruction declared as InstructionModifier and TypeFieldDescriptionprivate final Instruction
InstructionSet.CloneInstruction.cloning
private final Instruction
InstructionSet.MultiAssignInstruction.common
private final Instruction
BranchSet.fallThrough
private final Instruction
InstructionSet.IncrementInstruction.fieldOrVariable
private Instruction
Instruction.firstChild
private final Instruction
InstructionSet.MultiAssignInstruction.from
private Instruction
ExpressionList.head
private final Instruction
ExpressionList.instruction
private Instruction
Instruction.lastChild
private Instruction
Instruction.nextExpr
private Instruction
Instruction.nextPC
private Instruction
Instruction.parentExpr
private Instruction
Instruction.prevExpr
private Instruction
Instruction.prevPC
private final Instruction
InstructionSet.FieldArrayElementAssign.rhs
private final Instruction
InstructionSet.InlineAssignInstruction.rhs
private Instruction
ExpressionList.tail
private final Instruction
BranchSet.target
protected Instruction
InstructionSet.Branch.target
protected Instruction[]
InstructionSet.Switch.targets
private final Instruction
InstructionSet.MultiAssignInstruction.to
Methods in com.aparapi.internal.instruction that return InstructionModifier and TypeMethodDescriptionExpressionList.add
(Instruction _instruction) Add this instruction to the end of the list.static Instruction
InstructionSet.ByteCode.create
(MethodModel _methodModel, ByteReader _byteReader) ExpressionList.createList
(Instruction _newTail) [1] [2] [3] [4] Note that passing null here essentially deletes the existing expression list and returns the expressionInstructionSet.I_INVOKEDYNAMIC.getArg
(int _arg) InstructionSet.I_INVOKEINTERFACE.getArg
(int _arg) InstructionSet.I_INVOKESPECIAL.getArg
(int _arg) InstructionSet.I_INVOKESTATIC.getArg
(int _arg) InstructionSet.I_INVOKEVIRTUAL.getArg
(int _arg) InstructionSet.InterfaceConstantPoolMethodIndexAccessor.getArg
(int _arg) InstructionSet.MethodCall.getArg
(int _arg) InstructionSet.ArrayAccess.getArrayIndex()
InstructionSet.ArrayAccess.getArrayRef()
InstructionSet.MultiAssignInstruction.getCommon()
BranchSet.getFallThrough()
InstructionSet.IncrementInstruction.getFieldOrVariableReference()
Instruction.getFirstChild()
InstructionSet.MultiAssignInstruction.getFrom()
ExpressionList.getHead()
InstructionSet.AccessInstanceField.getInstance()
InstructionSet.AssignToInstanceField.getInstance()
InstructionSet.I_GETFIELD.getInstance()
InstructionSet.I_PUTFIELD.getInstance()
InstructionSet.I_INVOKEDYNAMIC.getInstanceReference()
InstructionSet.I_INVOKEINTERFACE.getInstanceReference()
InstructionSet.I_INVOKESPECIAL.getInstanceReference()
InstructionSet.I_INVOKEVIRTUAL.getInstanceReference()
InstructionSet.InterfaceConstantPoolMethodIndexAccessor.getInstanceReference()
InstructionSet.VirtualMethodCall.getInstanceReference()
Instruction.getLastChild()
InstructionSet.Binary.getLhs()
final Instruction
InstructionSet.BinaryOperator.getLhs()
InstructionSet.If.getLhs()
Instruction.getNextExpr()
Instruction.getNextPC()
Instruction.getParentExpr()
Instruction.getPrevExpr()
Instruction.getPrevPC()
Instruction.getReal()
InstructionSet.CloneInstruction.getReal()
InstructionSet.Binary.getRhs()
final Instruction
InstructionSet.BinaryOperator.getRhs()
InstructionSet.FieldArrayElementAssign.getRhs()
InstructionSet.If.getRhs()
InstructionSet.InlineAssignInstruction.getRhs()
Instruction.getRootExpr()
Instruction.getStartInstruction()
InstructionSet.IncrementInstruction.getStartInstruction()
ExpressionList.getTail()
BranchSet.getTarget()
InstructionSet.Branch.getTarget()
InstructionSet.Switch.getTarget
(int _index) InstructionSet.MultiAssignInstruction.getTo()
InstructionSet.IfUnary.getUnary()
InstructionSet.Unary.getUnary()
final Instruction
InstructionSet.UnaryOperator.getUnary()
InstructionSet.AssignToArrayElement.getValue()
InstructionSet.AssignToField.getValueToAssign()
InstructionSet.I_PUTFIELD.getValueToAssign()
InstructionSet.I_PUTSTATIC.getValueToAssign()
InstructionSet.ByteCode.newInstruction
(MethodModel _methodModel, ByteReader byteReader, boolean _isWide) Instruction.toInstruction()
abstract Instruction
InstructionTransformer.transform
(ExpressionList _expressionList, Instruction i) Methods in com.aparapi.internal.instruction with parameters of type InstructionModifier and TypeMethodDescriptionExpressionList.add
(Instruction _instruction) Add this instruction to the end of the list.private void
ExpressionList.addAsComposites
(InstructionSet.ByteCode _byteCode, Instruction _start, BranchSet _branchSet) private boolean
InstructionPattern.compareSubTrees
(Instruction _lhs, Instruction _rhs) int
Instruction.compareTo
(Instruction _other) InstructionSet.CompositeInstruction.create
(InstructionSet.ByteCode _byteCode, MethodModel _methodModel, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) ExpressionList.createList
(Instruction _newTail) [1] [2] [3] [4] Note that passing null here essentially deletes the existing expression list and returns the expressionboolean
ExpressionList.doesNotContainCompositeOrBranch
(Instruction _start, Instruction _exclusiveEnd) boolean
ExpressionList.doesNotContainContinueOrBreak
(Instruction _start, Instruction _extent) Determine whether the sequence of instructions from _start to _extent is free of branches which extend beyond _extent.ExpressionList.dumpDiagram
(Instruction _instruction) Aids debugging.InstructionSet.ConditionalBranch.findEndOfConditionalBranchSet
(Instruction _extent) boolean
ExpressionList.foldComposite
(Instruction _instruction) Fold headTail.tail into valid compositesvoid
ExpressionList.insertBetween
(Instruction _prev, Instruction _next, Instruction _newOne) Insert the given instruction (_newone) between the existing entries (_prev and _next).boolean
Instruction.isAfter
(Instruction _other) boolean
Instruction.isAfterOrEqual
(Instruction _other) boolean
Instruction.isBefore
(Instruction _other) boolean
Instruction.isBeforeOrEqual
(Instruction _other) InstructionPattern.AssignableInstructionMatcher.matches
(Instruction _instruction) (package private) abstract InstructionPattern.InstructionMatch
InstructionPattern.InstructionMatcher.matches
(Instruction _instruction) InstructionPattern.InstructionMatcher.matches
(Instruction _instruction, InstructionPattern.InstructionMatcher _instructionMatcher) void
ExpressionList.replaceInclusive
(Instruction _head, Instruction _tail, Instruction _newOne) Inclusive replace between _head and _tail with _newOne.void
InstructionSet.Branch.retarget
(Instruction _newTarget) boolean
Instruction.sameAs
(Instruction _other) void
Instruction.setChildren
(Instruction _firstChild, Instruction _lastChild) void
Instruction.setNextExpr
(Instruction _nextExpr) void
Instruction.setNextPC
(Instruction _nextByPC) void
Instruction.setParentExpr
(Instruction _parentExpr) void
Instruction.setPrevExpr
(Instruction _prevExpr) void
Instruction.setPrevPC
(Instruction _prevByPC) void
InstructionSet.Branch.setTarget
(Instruction _target) void
InstructionSet.Switch.setTarget
(int _index, Instruction _instruction) abstract Instruction
InstructionTransformer.transform
(ExpressionList _expressionList, Instruction i) Constructors in com.aparapi.internal.instruction with parameters of type InstructionModifierConstructorDescriptionBranch
(MethodModel _methodPoolEntry, InstructionSet.ByteCode _byteCode, Instruction _target) CloneInstruction
(MethodModel method, Instruction _cloning) protected
CompositeArbitraryScopeInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) protected
CompositeDoWhileInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeEmptyLoopInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) protected
CompositeForEclipseInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeForSunInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeIfElseInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeIfInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeInstruction
(MethodModel method, InstructionSet.ByteCode _byteCode, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeWhileInstruction
(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) private
ExpressionList
(MethodModel _methodModel, ExpressionList _parent, Instruction _instruction) FakeGoto
(MethodModel _methodPoolEntry, Instruction _target) FieldArrayElementAssign
(MethodModel method, InstructionSet.AssignToArrayElement _assignToArrayElement, Instruction _rhs) IncrementInstruction
(MethodModel method, Instruction _fieldOrVariable, boolean _isInc, boolean _isPre) InlineAssignInstruction
(MethodModel method, InstructionSet.AssignToLocalVariable _assignToLocalVariable, Instruction _rhs) MultiAssignInstruction
(MethodModel method, Instruction _common, Instruction _from, Instruction _to) UnconditionalBranch
(MethodModel _methodPoolEntry, InstructionSet.ByteCode _byteCode, Instruction _target) -
Uses of Instruction in com.aparapi.internal.model
Fields in com.aparapi.internal.model declared as InstructionModifier and TypeFieldDescriptionprivate Instruction
MethodModel.pcHead
private Instruction
MethodModel.pcTail
After we have folded the top level instructions this root list will contain a list of all of the 'root' instructions (stores/loops/conditionals) We are going to build a linked list.Methods in com.aparapi.internal.model that return InstructionMethods in com.aparapi.internal.model that return types with arguments of type InstructionModifier and TypeMethodDescriptionMethodModel.createListOfInstructions()
Create a linked list of instructions (from pcHead to pcTail).Methods in com.aparapi.internal.model with parameters of type InstructionModifier and TypeMethodDescription(package private) void
MethodModel.applyTransformations
(ExpressionList _expressionList, Instruction _instruction, Instruction _operandStart) void
MethodModel.setRequiredPragmas
(Instruction instruction) Look at each instruction for use of long/double or byte writes which require pragmas to be used in the OpenCL sourcevoid
MethodModel.txFormDups
(ExpressionList _expressionList, Instruction _instruction) DUP family of instructions break our stack unwind model (whereby we treat instructions like the oeprands they create/consume).Method parameters in com.aparapi.internal.model with type arguments of type InstructionModifier and TypeMethodDescriptionvoid
MethodModel.buildBranchGraphs
(Map<Integer, Instruction> pcMap) Here we connect the branch nodes to the instruction that they branch to.(package private) void
MethodModel.checkForGetter
(Map<Integer, Instruction> pcMap) Determine if this method is a getter and record the accessed field if so(package private) void
MethodModel.checkForSetter
(Map<Integer, Instruction> pcMap) Determine if this method is a setter and record the accessed field if soConstructor parameters in com.aparapi.internal.model with type arguments of type InstructionModifierConstructorDescriptionFakeLocalVariableTableEntry
(Map<Integer, Instruction> _pcMap, ClassModel.ClassModelMethod _method) -
Uses of Instruction in com.aparapi.internal.tool
Fields in com.aparapi.internal.tool declared as InstructionModifier and TypeFieldDescriptionInstructionViewer.InstructionView.branchTarget
InstructionViewer.InstructionView.collapsedBranchTarget
(package private) Instruction
InstructionViewer.current
protected Instruction
InstructionHelper.BranchVector.end
(package private) Instruction
InstructionViewer.first
protected Instruction
InstructionHelper.BranchVector.from
private final Instruction
InstructionViewer.InstructionView.instruction
protected Instruction
InstructionHelper.BranchVector.start
protected Instruction
InstructionHelper.BranchVector.to
Fields in com.aparapi.internal.tool with type parameters of type InstructionModifier and TypeFieldDescriptionprivate final Map
<Instruction, InstructionViewer.InstructionView> InstructionViewer.locationToInstructionViewMap
Methods in com.aparapi.internal.tool that return InstructionModifier and TypeMethodDescriptionInstructionHelper.BranchVector.getEnd()
InstructionHelper.BranchVector.getFrom()
InstructionHelper.BranchVector.getStart()
InstructionHelper.BranchVector.getTo()
Methods in com.aparapi.internal.tool with parameters of type InstructionModifier and TypeMethodDescriptionprivate static void
InstructionHelper.appendFoldedInstruction
(InstructionHelper.Table _sl, String _prefix, Instruction _instruction) (package private) static String
InstructionHelper.createView
(MethodModel _methodModel, String _msg, Instruction _head) (package private) static String
InstructionHelper.createView
(MethodModel _methodModel, String _msg, Instruction _head, Instruction _tail, int[] _pcForwardBranchTargetCounts) (package private) void
InstructionHelper.dump
(String _indent, Instruction i, boolean clone) (package private) void
InstructionHelper.edump
(StringBuilder _sb, Instruction i, boolean clone) (package private) void
InstructionHelper.fdump
(int _depth, Instruction i, boolean clone) (package private) InstructionViewer.InstructionView
InstructionViewer.getInstructionView
(Instruction _instruction) static String
InstructionHelper.getLabel
(Instruction instruction, boolean showNumber, boolean showExpressions, boolean verboseBytecodeLabels) void
InstructionViewer.showAndTell
(String message, Instruction head, Instruction _instruction) (package private) static void
InstructionHelper.writeExpression
(String _prefix, Instruction _instruction) Constructors in com.aparapi.internal.tool with parameters of type InstructionModifierConstructorDescriptionBranchVector
(Instruction _from, Instruction _to) InstructionView
(Instruction _instruction) -
Uses of Instruction in com.aparapi.internal.writer
Methods in com.aparapi.internal.writer that return InstructionModifier and TypeMethodDescriptionBlockWriter.writeConditional
(BranchSet _branchSet) BlockWriter.writeConditional
(BranchSet _branchSet, boolean _invert) Methods in com.aparapi.internal.writer with parameters of type InstructionModifier and TypeMethodDescriptionprivate boolean
BlockWriter.isNeedParenthesis
(Instruction instruction) private boolean
KernelWriter.isThis
(Instruction instruction) void
BlockWriter.writeBlock
(Instruction _first, Instruction _last) void
BlockWriter.writeInstruction
(Instruction _instruction) void
KernelWriter.writeInstruction
(Instruction _instruction) void
BlockWriter.writeSequence
(Instruction _first, Instruction _last)