/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
/** {@inheritDoc} */ @Override public void addMapping(int oldReg, int newReg, int category) { super.addMapping(oldReg, newReg, category); addInterfence(newReg, oldReg); if (category == 2) { addInterfence(newReg + 1, oldReg); } }
/** {@inheritDoc} */ @Override public RegisterMapper allocateRegisters() { int oldRegCount = ssaMeth.getRegCount(); BasicRegisterMapper mapper = new BasicRegisterMapper(oldRegCount); for (int i = 0; i < oldRegCount; i++) { mapper.addMapping(i, i*2, 2); } return mapper; } }
private void shiftParameters(int delta) { int insnSize = insns.size(); int lastParameter = unreservedRegCount + reservedCount + reservedParameterCount; int firstParameter = lastParameter - paramSize; BasicRegisterMapper mapper = new BasicRegisterMapper(lastParameter); for (int i = 0; i < lastParameter; i++) { if (i >= firstParameter) { mapper.addMapping(i, i + delta, 1); } else { mapper.addMapping(i, i, 1); } } for (int i = 0; i < insnSize; i++) { DalvInsn insn = insns.get(i); // Since there is no need to replace CodeAddress since it does not use registers, skips it to // avoid to update all TargetInsn that contain a reference to CodeAddress if (!(insn instanceof CodeAddress)) { insns.set(i, insn.withMapper(mapper)); } } } }
private void shiftParameters(int delta) { int insnSize = insns.size(); int lastParameter = unreservedRegCount + reservedCount + reservedParameterCount; int firstParameter = lastParameter - paramSize; BasicRegisterMapper mapper = new BasicRegisterMapper(lastParameter); for (int i = 0; i < lastParameter; i++) { if (i >= firstParameter) { mapper.addMapping(i, i + delta, 1); } else { mapper.addMapping(i, i, 1); } } for (int i = 0; i < insnSize; i++) { DalvInsn insn = insns.get(i); // Since there is no need to replace CodeAddress since it does not use registers, skips it to // avoid to update all TargetInsn that contain a reference to CodeAddress if (!(insn instanceof CodeAddress)) { insns.set(i, insn.withMapper(mapper)); } } } }
private void shiftParameters(int delta) { int insnSize = insns.size(); int lastParameter = unreservedRegCount + reservedCount + reservedParameterCount; int firstParameter = lastParameter - paramSize; BasicRegisterMapper mapper = new BasicRegisterMapper(lastParameter); for (int i = 0; i < lastParameter; i++) { if (i >= firstParameter) { mapper.addMapping(i, i + delta, 1); } else { mapper.addMapping(i, i, 1); } } for (int i = 0; i < insnSize; i++) { DalvInsn insn = insns.get(i); // Since there is no need to replace CodeAddress since it does not use registers, skips it to // avoid to update all TargetInsn that contain a reference to CodeAddress if (!(insn instanceof CodeAddress)) { insns.set(i, insn.withMapper(mapper)); } } } }
private void shiftParameters(int delta) { int insnSize = insns.size(); int lastParameter = unreservedRegCount + reservedCount + reservedParameterCount; int firstParameter = lastParameter - paramSize; BasicRegisterMapper mapper = new BasicRegisterMapper(lastParameter); for (int i = 0; i < lastParameter; i++) { if (i >= firstParameter) { mapper.addMapping(i, i + delta, 1); } else { mapper.addMapping(i, i, 1); } } for (int i = 0; i < insnSize; i++) { DalvInsn insn = insns.get(i); // Since there is no need to replace CodeAddress since it does not use registers, skips it to // avoid to update all TargetInsn that contain a reference to CodeAddress if (!(insn instanceof CodeAddress)) { insns.set(i, insn.withMapper(mapper)); } } } }