int FpuStackSim::get_slot(int tos_offset) const { return regs_at(tos_index() - tos_offset); }
void FpuStackSim::swap(int offset) { if (TraceFPUStack) { tty->print("FPU-swap %d", offset); print(); tty->cr(); } int t = regs_at(tos_index() - offset); set_regs_at(tos_index() - offset, regs_at(tos_index())); set_regs_at(tos_index(), t); }
void FpuStackSim::pop(int rnr) { if (TraceFPUStack) { tty->print("FPU-pop %d", rnr); print(); tty->cr(); } assert(regs_at(tos_index()) == rnr, "rnr is not on TOS"); set_regs_at(tos_index(), EMPTY); dec_stack_size(); }
void FpuStackSim::push(int rnr) { if (TraceFPUStack) { tty->print("FPU-push %d", rnr); print(); tty->cr(); } assert(regs_at(stack_size()) == EMPTY, "should be empty"); set_regs_at(stack_size(), rnr); inc_stack_size(); }
bool FpuStackSim::slot_is_empty(int tos_offset) { return (regs_at(tos_index() - tos_offset) == EMPTY); }