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 TypeMethodDescriptionvoidConfig.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 classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classFields in com.aparapi.internal.instruction declared as InstructionModifier and TypeFieldDescriptionprivate final InstructionInstructionSet.CloneInstruction.cloningprivate final InstructionInstructionSet.MultiAssignInstruction.commonprivate final InstructionBranchSet.fallThroughprivate final InstructionInstructionSet.IncrementInstruction.fieldOrVariableprivate InstructionInstruction.firstChildprivate final InstructionInstructionSet.MultiAssignInstruction.fromprivate InstructionExpressionList.headprivate final InstructionExpressionList.instructionprivate InstructionInstruction.lastChildprivate InstructionInstruction.nextExprprivate InstructionInstruction.nextPCprivate InstructionInstruction.parentExprprivate InstructionInstruction.prevExprprivate InstructionInstruction.prevPCprivate final InstructionInstructionSet.FieldArrayElementAssign.rhsprivate final InstructionInstructionSet.InlineAssignInstruction.rhsprivate InstructionExpressionList.tailprivate final InstructionBranchSet.targetprotected InstructionInstructionSet.Branch.targetprotected Instruction[]InstructionSet.Switch.targetsprivate final InstructionInstructionSet.MultiAssignInstruction.toMethods in com.aparapi.internal.instruction that return InstructionModifier and TypeMethodDescriptionExpressionList.add(Instruction _instruction) Add this instruction to the end of the list.static InstructionInstructionSet.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 InstructionInstructionSet.BinaryOperator.getLhs()InstructionSet.If.getLhs()Instruction.getNextExpr()Instruction.getNextPC()Instruction.getParentExpr()Instruction.getPrevExpr()Instruction.getPrevPC()Instruction.getReal()InstructionSet.CloneInstruction.getReal()InstructionSet.Binary.getRhs()final InstructionInstructionSet.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 InstructionInstructionSet.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 InstructionInstructionTransformer.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 voidExpressionList.addAsComposites(InstructionSet.ByteCode _byteCode, Instruction _start, BranchSet _branchSet) private booleanInstructionPattern.compareSubTrees(Instruction _lhs, Instruction _rhs) intInstruction.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 expressionbooleanExpressionList.doesNotContainCompositeOrBranch(Instruction _start, Instruction _exclusiveEnd) booleanExpressionList.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) booleanExpressionList.foldComposite(Instruction _instruction) Fold headTail.tail into valid compositesvoidExpressionList.insertBetween(Instruction _prev, Instruction _next, Instruction _newOne) Insert the given instruction (_newone) between the existing entries (_prev and _next).booleanInstruction.isAfter(Instruction _other) booleanInstruction.isAfterOrEqual(Instruction _other) booleanInstruction.isBefore(Instruction _other) booleanInstruction.isBeforeOrEqual(Instruction _other) InstructionPattern.AssignableInstructionMatcher.matches(Instruction _instruction) (package private) abstract InstructionPattern.InstructionMatchInstructionPattern.InstructionMatcher.matches(Instruction _instruction) InstructionPattern.InstructionMatcher.matches(Instruction _instruction, InstructionPattern.InstructionMatcher _instructionMatcher) voidExpressionList.replaceInclusive(Instruction _head, Instruction _tail, Instruction _newOne) Inclusive replace between _head and _tail with _newOne.voidInstructionSet.Branch.retarget(Instruction _newTarget) booleanInstruction.sameAs(Instruction _other) voidInstruction.setChildren(Instruction _firstChild, Instruction _lastChild) voidInstruction.setNextExpr(Instruction _nextExpr) voidInstruction.setNextPC(Instruction _nextByPC) voidInstruction.setParentExpr(Instruction _parentExpr) voidInstruction.setPrevExpr(Instruction _prevExpr) voidInstruction.setPrevPC(Instruction _prevByPC) voidInstructionSet.Branch.setTarget(Instruction _target) voidInstructionSet.Switch.setTarget(int _index, Instruction _instruction) abstract InstructionInstructionTransformer.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) protectedCompositeArbitraryScopeInstruction(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) protectedCompositeDoWhileInstruction(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) CompositeEmptyLoopInstruction(MethodModel method, Instruction _firstChild, Instruction _lastChild, BranchSet _branchSet) protectedCompositeForEclipseInstruction(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) privateExpressionList(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 InstructionMethodModel.pcHeadprivate InstructionMethodModel.pcTailAfter 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) voidMethodModel.applyTransformations(ExpressionList _expressionList, Instruction _instruction, Instruction _operandStart) voidMethodModel.setRequiredPragmas(Instruction instruction) Look at each instruction for use of long/double or byte writes which require pragmas to be used in the OpenCL sourcevoidMethodModel.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 TypeMethodDescriptionvoidMethodModel.buildBranchGraphs(Map<Integer, Instruction> pcMap) Here we connect the branch nodes to the instruction that they branch to.(package private) voidMethodModel.checkForGetter(Map<Integer, Instruction> pcMap) Determine if this method is a getter and record the accessed field if so(package private) voidMethodModel.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.branchTargetInstructionViewer.InstructionView.collapsedBranchTarget(package private) InstructionInstructionViewer.currentprotected InstructionInstructionHelper.BranchVector.end(package private) InstructionInstructionViewer.firstprotected InstructionInstructionHelper.BranchVector.fromprivate final InstructionInstructionViewer.InstructionView.instructionprotected InstructionInstructionHelper.BranchVector.startprotected InstructionInstructionHelper.BranchVector.toFields in com.aparapi.internal.tool with type parameters of type InstructionModifier and TypeFieldDescriptionprivate final Map<Instruction, InstructionViewer.InstructionView> InstructionViewer.locationToInstructionViewMapMethods 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 voidInstructionHelper.appendFoldedInstruction(InstructionHelper.Table _sl, String _prefix, Instruction _instruction) (package private) static StringInstructionHelper.createView(MethodModel _methodModel, String _msg, Instruction _head) (package private) static StringInstructionHelper.createView(MethodModel _methodModel, String _msg, Instruction _head, Instruction _tail, int[] _pcForwardBranchTargetCounts) (package private) voidInstructionHelper.dump(String _indent, Instruction i, boolean clone) (package private) voidInstructionHelper.edump(StringBuilder _sb, Instruction i, boolean clone) (package private) voidInstructionHelper.fdump(int _depth, Instruction i, boolean clone) (package private) InstructionViewer.InstructionViewInstructionViewer.getInstructionView(Instruction _instruction) static StringInstructionHelper.getLabel(Instruction instruction, boolean showNumber, boolean showExpressions, boolean verboseBytecodeLabels) voidInstructionViewer.showAndTell(String message, Instruction head, Instruction _instruction) (package private) static voidInstructionHelper.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 booleanBlockWriter.isNeedParenthesis(Instruction instruction) private booleanKernelWriter.isThis(Instruction instruction) voidBlockWriter.writeBlock(Instruction _first, Instruction _last) voidBlockWriter.writeInstruction(Instruction _instruction) voidKernelWriter.writeInstruction(Instruction _instruction) voidBlockWriter.writeSequence(Instruction _first, Instruction _last)