Searched refs:block (Results 1 - 25 of 25) sorted by relevance

/dalvik/dx/src/com/android/dx/ssa/
H A DSsaInsn.java26 /** {@code non-null;} the block that contains this instance */
27 private final SsaBasicBlock block; field in class:SsaInsn
36 * @param block {@code non-null;} block containing this insn. Can
39 protected SsaInsn(RegisterSpec result, SsaBasicBlock block) { argument
40 if (block == null) {
41 throw new NullPointerException("block == null");
44 this.block = block;
52 * @param block {
55 makeFromRop(Insn insn, SsaBasicBlock block) argument
[all...]
H A DSsaConverter.java56 * The exit block, added here, is not considered for edge splitting
127 * requiring each block with a final instruction that returns a
150 * New blocks are added to the end of the block list during
154 SsaBasicBlock block = blocks.get(i);
155 if (nodeNeedsUniquePredecessor(block)) {
156 block.insertNewPredecessor();
162 * @param block {@code non-null;} block in question
166 private static boolean nodeNeedsUniquePredecessor(SsaBasicBlock block) { argument
168 * Any block wit
266 needsNewSuccessor(SsaBasicBlock block, SsaBasicBlock succ) argument
[all...]
H A DSsaRenamer.java58 * a mapping table for the current block being processed. Once the
59 * current block has been processed, this mapping table is then copied
79 * indexed by block index; register version state for each block start.
142 // Initial state for entry block
163 // Rename each block in dom-tree DFS order.
165 public void visitBlock (SsaBasicBlock block,
167 new BlockRenamer(block).process();
274 * Processes all insns in a block and renames their registers
278 /** {@code non-null;} block w
279 private final SsaBasicBlock block; field in class:SsaRenamer.BlockRenamer
310 BlockRenamer(final SsaBasicBlock block) argument
[all...]
H A DSsaMethod.java42 /** basic blocks, indexed by block index */
45 /** Index of first executed block in method */
49 * Index of exit block, which exists only in SSA form,
129 * Builds a BitSet of block indices from a basic block list and a list
133 * @param labelList list of rop block labels
134 * @return BitSet of block indices
148 * Builds an IntList of block indices from a basic block list and a list
152 * @param labelList list of rop block label
225 getGoto(SsaBasicBlock block) argument
[all...]
H A DLocalVariableExtractor.java39 /** {@code non-null;} block list for the method */
99 * Processes a single block.
101 * @param blockIndex {@code >= 0;} block index of the block to process
106 SsaBasicBlock block = blocks.get(blockIndex);
107 List<SsaInsn> insns = block.getInsns();
110 // The exit block has no insns and no successors
191 * where the start state for a block changes).
194 IntList successors = block.getSuccessorList();
196 int primarySuccessor = block
[all...]
H A DDominators.java53 /** indexed by basic block index */
94 private BitSet getSuccs(SsaBasicBlock block) { argument
96 return block.getPredecessors();
98 return block.getSuccessors();
102 private BitSet getPreds(SsaBasicBlock block) { argument
104 return block.getSuccessors();
106 return block.getPredecessors();
113 * @param in Basic block whose DFS info we are path compressing.
252 * from the entry block or the exit block)
[all...]
H A DLocalVariableInfo.java36 * {@code non-null;} {@link com.android.dx.rop.code.RegisterSpecSet} to use when indicating a block
44 * sets of variables already assigned upon entry to each block,
45 * where array indices correspond to block indices
74 * Sets the register set associated with the start of the block with
77 * @param index {@code >= 0;} the block index
78 * @param specs {@code non-null;} the register set to associate with the block
96 * Merges the given register set into the set for the block with the
102 * @param index {@code >= 0;} the block index
104 * for the block
132 * Gets the register set associated with the start of the block
153 getStarts(SsaBasicBlock block) argument
[all...]
H A DPhiInsn.java53 * @param block block containing this insn.
55 public PhiInsn(RegisterSpec resultReg, SsaBasicBlock block) { argument
56 super(resultReg, block);
64 * @param block block containing this insn.
66 public PhiInsn(final int resultReg, final SsaBasicBlock block) { argument
71 super(RegisterSpec.make(resultReg, Type.VOID), block);
125 * @param predBlock predecessor block to be associated with this operand
137 * Gets the index of the pred block associate
[all...]
H A DSCCP.java53 /** Bitset containing bits for each block that has been found executable */
88 * Add a new SSA basic block to the CFG worklist
191 * Simulate a block and note the results in the lattice.
192 * @param block Block to visit
194 private void simulateBlock(SsaBasicBlock block) { argument
195 for (SsaInsn insn : block.getInsns()) {
327 SsaBasicBlock block = insn.getBlock();
328 int successorSize = block.getSuccessorList().size();
330 int successor = block.getSuccessorList().get(i);
399 SsaBasicBlock block
[all...]
H A DNormalSsaInsn.java32 * @param block block that contains this insn
34 NormalSsaInsn(final Insn insn, final SsaBasicBlock block) { argument
35 super(insn.getResult(), block);
H A DEscapeAnalysis.java693 public void visitBlock (SsaBasicBlock block,
695 block.forEachInsn(new SsaInsn.Visitor() {
743 // Add a successor block with a move result pseudo for the exception
753 // Add another successor block to initialize the exception
763 // Add another successor block to throw the new exception
/dalvik/dx/src/com/android/dx/dex/code/
H A DBlockAddresses.java27 * the blocks of a particular method. Each block has a corresponding
32 * block (indexed by basic block label) */
36 * of each basic block (indexed by basic block label) */
40 * final instruction) of each basic block (indexed by basic block
47 * @param method {@code non-null;} the method to have block addresses for
61 * Gets the instance for the start of the given block.
63 * @param block {
66 getStart(BasicBlock block) argument
86 getLast(BasicBlock block) argument
108 getEnd(BasicBlock block) argument
[all...]
H A DStdCatchBuilder.java41 /** {@code non-null;} block output order */
44 /** {@code non-null;} address objects for each block */
52 * @param order {@code non-null;} block output order
53 * @param addresses {@code non-null;} address objects for each block
85 BasicBlock block = blocks.get(i);
86 TypeList catches = block.getLastInsn().getCatches();
102 BasicBlock block = blocks.get(i);
103 TypeList catches = block.getLastInsn().getCatches();
118 * @param order {@code non-null;} block output order
119 * @param addresses {@code non-null;} address objects for each block
216 handlersFor(BasicBlock block, BlockAddresses addresses) argument
[all...]
H A DRopTranslator.java73 /** {@code null-ok;} block output order; becomes non-null in {@link #pickOrder} */
130 * objects per basic block (to the first and last instruction,
131 * and just past the end of the block), and the possibility of
132 * an extra goto at the end of each basic block.
139 * extra instruction per block (for the locals state at the
140 * start of the block) as well as one for each interblock
179 * We almost could just check the first block here, but the
181 * subsequent block in the case of synchronized methods.
233 * and output of one block.
235 * @param block {
239 outputBlock(BasicBlock block, int nextLabel) argument
493 private BasicBlock block; field in class:RopTranslator.TranslationVisitor
517 setBlock(BasicBlock block, CodeAddress lastAddress) argument
[all...]
/dalvik/dx/src/com/android/dx/rop/code/
H A DLocalVariableExtractor.java30 /** {@code non-null;} block list for the method */
87 * Processes a single block.
89 * @param label {@code >= 0;} label of the block to process
93 BasicBlock block = blocks.labelToBlock(label);
94 InsnList insns = block.getInsns();
104 boolean canThrowDuringLastInsn = block.hasExceptionHandlers() &&
174 * where the start state for a block changes).
177 IntList successors = block.getSuccessors();
179 int primarySuccessor = block.getPrimarySuccessor();
H A DLocalVariableInfo.java34 * {@code non-null;} {@link RegisterSpecSet} to use when indicating a block
42 * sets of variables already assigned upon entry to each block,
43 * where array indices correspond to block labels
73 * Sets the register set associated with the start of the block with
76 * @param label {@code >= 0;} the block label
77 * @param specs {@code non-null;} the register set to associate with the block
95 * Merges the given register set into the set for the block with the
101 * @param label {@code >= 0;} the block label
103 * for the block
131 * Gets the register set associated with the start of the block
152 getStarts(BasicBlock block) argument
[all...]
H A DBasicBlockList.java37 * and the first-block label is initially {@code -1}.
50 * @param old block to copy
71 * Sets the basic block at the given index.
103 * sum of the instruction counts of each block.
152 * Gets the first block in the list with the given label, if any.
155 * @return {@code non-null;} the so-labelled block
170 * Visits each instruction of each block in the list, in order.
221 * Gets the preferred successor for the given block. If the block
223 * Otherwise, if the block ha
230 preferredSuccessorOf(BasicBlock block) argument
[all...]
/dalvik/dx/src/com/android/dx/ssa/back/
H A DIdenticalBlockCombiner.java34 * block and the now-unused blocks are deleted. These identical blocks
55 * a hash. In particular, hash the contents of each block and only
65 // For each non-deleted block...
70 // doomed block
124 * @param a {@code non-null;} a block to compare
125 * @param b {@code non-null;} another block to compare
133 * Combines blocks proven identical into one alpha block, re-writing
135 * to the alpha block instead.
137 * @param alphaLabel block that will replace all the beta block
164 replaceSucc(BasicBlock block, int oldLabel, int newLabel) argument
[all...]
H A DSsaToRop.java141 * there. Furthermore, any no-op block between the exit block and
170 * predecessor block.
175 for (SsaBasicBlock block : blocks) {
177 block.forEachPhiInsn(new PhiVisitor(blocks));
180 block.removeAllPhiInsns();
187 for (SsaBasicBlock block : blocks) {
188 block.scheduleMovesFromPhis();
246 * @return rop-form basic block list
251 // Exit block ma
304 convertBasicBlock(SsaBasicBlock block) argument
[all...]
H A DRegisterAllocator.java128 * last insn in a block.
131 * be last insn in block
137 SsaBasicBlock block = insn.getBlock();
138 ArrayList<SsaInsn> insns = block.getInsns();
143 "specified insn is not in this block");
167 RegisterSpecList.make(reg)), block);
175 * block and what's used by the final instruction.
178 IntSet liveOut = block.getLiveOutRegs();
/dalvik/dx/src/com/android/dx/command/dump/
H A DSsaDumper.java131 for (SsaBasicBlock block : sortedBlocks) {
132 sb.append("block ")
133 .append(Hex.u2(block.getRopLabel())).append('\n');
135 BitSet preds = block.getPredecessors();
144 sb.append(" live in:" + block.getLiveInRegs());
147 for (SsaInsn insn : block.getInsns()) {
153 if (block.getSuccessors().cardinality() == 0) {
156 int primary = block.getPrimarySuccessorRopLabel();
158 IntList succLabelList = block.getRopLabelSuccessorList();
173 sb.append(" live out:" + block
[all...]
/dalvik/vm/alloc/
H A DCopying.c38 * are the block space table and the block queue.
40 * The block space table records the state of a block. We must track
41 * whether a block is:
45 * - If the block holds part of a large object allocation, whether the
46 * block is the initial or a continued block of the allocation.
48 * - Whether the block is pinned, that is to say whether at least one
49 * object in the block mus
292 size_t block; local
369 blockToAddress(const HeapSource *heapSource, size_t block) argument
378 clearBlock(HeapSource *heapSource, size_t block) argument
422 enqueueBlock(HeapSource *heapSource, size_t block) argument
442 size_t block; local
667 size_t block; local
1952 scavengeBlock(HeapSource *heapSource, size_t block) argument
2009 verifyBlock(HeapSource *heapSource, size_t block) argument
2048 size_t block, count; local
2077 size_t block; local
[all...]
/dalvik/dx/src/com/android/dx/cf/code/
H A DRopper.java35 * Utility that converts a basic block list into a list of register-oriented
39 /** label offset for the parameter assignment block */
42 /** label offset for the return block */
45 /** label offset for the synchronized method final return block */
48 /** label offset for the first synchronized method setup block */
51 /** label offset for the second synchronized method setup block */
56 * handler block
62 * handler block
72 /** {@code non-null;} original block list */
78 /** max label (exclusive) of any original bytecode block */
482 addBlock(BasicBlock block, IntList subroutines) argument
503 addOrReplaceBlock(BasicBlock block, IntList subroutines) argument
541 addOrReplaceBlockNoDelete(BasicBlock block, IntList subroutines) argument
674 processBlock(ByteBlock block, Frame frame, int[] workSet) argument
[all...]
/dalvik/vm/compiler/
H A DUtility.c23 /* Allocate the initial memory block for arena-based allocation */
91 ArenaMemBlock *block; local
93 for (block = arenaHead; block; block = block->next) {
94 block->bytesAllocated = 0;
169 LOGD(" Taken branch: block %d (%04x)\n",
173 LOGD(" Fallthrough : block %d (%04x)\n",
/dalvik/libdex/
H A Dsha1.c117 #define blk0(i) (block->l[i]=(rol(block->l[i],24)&0xFF00FF00) \
118 |(rol(block->l[i],8)&0x00FF00FF))
120 #define blk0(i) block->l[i]
122 #define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \
123 ^block->l[(i+2)&15]^block->l[i&15],1))
133 /* Hash a single 512-bit block
143 CHAR64LONG16* block; local
[all...]

Completed in 446 milliseconds