equal
deleted
inserted
replaced
65 // If an interval ends at the current instruction id, it is not possible |
65 // If an interval ends at the current instruction id, it is not possible |
66 // to decide if the register is live or not at the block begin -> the |
66 // to decide if the register is live or not at the block begin -> the |
67 // register information would be incorrect. |
67 // register information would be incorrect. |
68 if (b->number_of_preds() > 1) { |
68 if (b->number_of_preds() > 1) { |
69 int id = b->first_lir_instruction_id(); |
69 int id = b->first_lir_instruction_id(); |
70 BitMap regs(FrameMap::nof_fpu_regs); |
70 ResourceBitMap regs(FrameMap::nof_fpu_regs); |
71 regs.clear(); |
71 regs.clear(); |
72 |
72 |
73 iw.walk_to(id); // walk after the first instruction (always a label) of the block |
73 iw.walk_to(id); // walk after the first instruction (always a label) of the block |
74 assert(iw.current_position() == id, "did not walk completely to id"); |
74 assert(iw.current_position() == id, "did not walk completely to id"); |
75 |
75 |
1067 } else { |
1067 } else { |
1068 // propagate current FPU stack state to successor without state |
1068 // propagate current FPU stack state to successor without state |
1069 // clean up stack first so that there are no dead values on the stack |
1069 // clean up stack first so that there are no dead values on the stack |
1070 if (ComputeExactFPURegisterUsage) { |
1070 if (ComputeExactFPURegisterUsage) { |
1071 FpuStackSim* cur_sim = sim(); |
1071 FpuStackSim* cur_sim = sim(); |
1072 BitMap live_fpu_regs = block->sux_at(0)->fpu_register_usage(); |
1072 ResourceBitMap live_fpu_regs = block->sux_at(0)->fpu_register_usage(); |
1073 assert(live_fpu_regs.size() == FrameMap::nof_fpu_regs, "missing register usage"); |
1073 assert(live_fpu_regs.size() == FrameMap::nof_fpu_regs, "missing register usage"); |
1074 |
1074 |
1075 merge_cleanup_fpu_stack(instrs, cur_sim, live_fpu_regs); |
1075 merge_cleanup_fpu_stack(instrs, cur_sim, live_fpu_regs); |
1076 } |
1076 } |
1077 |
1077 |