/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Constructs an instance. * * @param method {@code non-null;} the method being represented by this instance */ public LocalVariableInfo(SsaMethod method) { if (method == null) { throw new NullPointerException("method == null"); } List<SsaBasicBlock> blocks = method.getBlocks(); this.regCount = method.getRegCount(); this.emptySet = new RegisterSpecSet(regCount); this.blockStarts = new RegisterSpecSet[blocks.size()]; this.insnAssignments = new HashMap<SsaInsn, RegisterSpec>(/*hint here*/); emptySet.setImmutable(); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Constructs an instance. * * @param method {@code non-null;} the method being represented by this instance */ public LocalVariableInfo(SsaMethod method) { if (method == null) { throw new NullPointerException("method == null"); } List<SsaBasicBlock> blocks = method.getBlocks(); this.regCount = method.getRegCount(); this.emptySet = new RegisterSpecSet(regCount); this.blockStarts = new RegisterSpecSet[blocks.size()]; this.insnAssignments = new HashMap<SsaInsn, RegisterSpec>(/*hint here*/); emptySet.setImmutable(); }
/** * Constructs an instance. * * @param method {@code non-null;} the method being represented by this instance */ public LocalVariableInfo(SsaMethod method) { if (method == null) { throw new NullPointerException("method == null"); } List<SsaBasicBlock> blocks = method.getBlocks(); this.regCount = method.getRegCount(); this.emptySet = new RegisterSpecSet(regCount); this.blockStarts = new RegisterSpecSet[blocks.size()]; this.insnAssignments = new HashMap<SsaInsn, RegisterSpec>(/*hint here*/); emptySet.setImmutable(); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given label. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param label {@code >= 0;} the block label * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int label) { RegisterSpecSet result = getStarts0(label); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Gets a mutable copy of the register set associated with the * start of the block with the given index. This returns a * newly-allocated empty {@link RegisterSpecSet} of appropriate * max size if there is not yet any set associated with the block. * * @param index {@code >= 0;} the block index * @return {@code non-null;} the associated register set */ public RegisterSpecSet mutableCopyOfStarts(int index) { RegisterSpecSet result = getStarts0(index); return (result != null) ? result.mutableCopy() : new RegisterSpecSet(regCount); }
/** * Constructs an instance. * * @param method {@code non-null;} the method being represented by this instance */ public LocalVariableInfo(RopMethod method) { if (method == null) { throw new NullPointerException("method == null"); } BasicBlockList blocks = method.getBlocks(); int maxLabel = blocks.getMaxLabel(); this.regCount = blocks.getRegCount(); this.emptySet = new RegisterSpecSet(regCount); this.blockStarts = new RegisterSpecSet[maxLabel]; this.insnAssignments = new HashMap<Insn, RegisterSpec>(blocks.getInstructionCount()); emptySet.setImmutable(); }