Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1.  
  2. private List<AsmInstruction> performColoring(List<AsmInstruction> program) {
  3. AlphaSubstitution colorSubstitution = new AlphaSubstitution();
  4. for (InterferenceNode node : graph.allNodes()) {
  5. colorSubstitution.addSubstitution(node.register.getName(), node.color.x86Name());
  6. }
  7. List<AsmInstruction> coloredProgram = program.stream().
  8. flatMap(inst -> colorInstruction(inst, colorSubstitution)).
  9. collect(Collectors.toList());
  10. coloredProgram.addAll(0, generateSaveStackSpaceInstructions());
  11. return coloredProgram;
  12. }
  13.  
  14. private List<AsmInstruction> generateSaveStackSpaceInstructions() {
  15. return Arrays.asList(AsmInstruction.push(new X86Register(Reg.rbp)),
  16. AsmInstruction.mov(new X86Register(Reg.rbp), new X86Register(Reg.rsp)),
  17. AsmInstruction.sub(new X86Register(Reg.rsp), new ConstImmediate(nextStackLocation)));
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement