/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps any parameter that isn't local-associated, which can happen * in the case where there is no java debug info. */ private void handleUnassociatedParameters() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one above continue; } int paramIndex = getParameterIndexForReg(ssaReg); RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (paramIndex >= 0) { addMapping(ssaSpec, paramIndex); } } }
/** * Maps all non-parameter, non-local variable registers. */ private void handleNormalUnassociated() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one continue; } RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (ssaSpec == null) continue; int category = ssaSpec.getCategory(); // Find a rop reg that does not interfere int ropReg = findNextUnreservedRopReg(paramRangeEnd, category); while (!canMapReg(ssaSpec, ropReg)) { ropReg = findNextUnreservedRopReg(ropReg + 1, category); } addMapping(ssaSpec, ropReg); } }
/** * Maps all non-parameter, non-local variable registers. */ private void handleNormalUnassociated() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one continue; } RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (ssaSpec == null) continue; int category = ssaSpec.getCategory(); // Find a rop reg that does not interfere int ropReg = findNextUnreservedRopReg(paramRangeEnd, category); while (!canMapReg(ssaSpec, ropReg)) { ropReg = findNextUnreservedRopReg(ropReg + 1, category); } addMapping(ssaSpec, ropReg); } }
/** * Maps all non-parameter, non-local variable registers. */ private void handleNormalUnassociated() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one continue; } RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (ssaSpec == null) continue; int category = ssaSpec.getCategory(); // Find a rop reg that does not interfere int ropReg = findNextUnreservedRopReg(paramRangeEnd, category); while (!canMapReg(ssaSpec, ropReg)) { ropReg = findNextUnreservedRopReg(ropReg + 1, category); } addMapping(ssaSpec, ropReg); } }
/** * Maps all non-parameter, non-local variable registers. */ private void handleNormalUnassociated() { int szSsaRegs = ssaMeth.getRegCount(); for (int ssaReg = 0; ssaReg < szSsaRegs; ssaReg++) { if (ssaRegsMapped.get(ssaReg)) { // We already did this one continue; } RegisterSpec ssaSpec = getDefinitionSpecForSsaReg(ssaReg); if (ssaSpec == null) continue; int category = ssaSpec.getCategory(); // Find a rop reg that does not interfere int ropReg = findNextUnreservedRopReg(paramRangeEnd, category); while (!canMapReg(ssaSpec, ropReg)) { ropReg = findNextUnreservedRopReg(ropReg + 1, category); } addMapping(ssaSpec, ropReg); } }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }
/** * Converts a bit set of SSA registers into a RegisterSpecList containing * the definition specs of all the registers. * * @param ssaSet {@code non-null;} set of SSA registers * @return list of RegisterSpecs as noted above */ RegisterSpecList ssaSetToSpecs(IntSet ssaSet) { RegisterSpecList result = new RegisterSpecList(ssaSet.elements()); IntIterator iter = ssaSet.iterator(); int i = 0; while (iter.hasNext()) { result.set(i++, getDefinitionSpecForSsaReg(iter.next())); } return result; }