133 assert(source_state);
void set_op(Instruction *I, MachineOperand *op) const
virtual MachineInstruction * create_Move(MachineOperand *src, MachineOperand *dst) const =0
virtual Instruction * to_Instruction()
SourceStateInst * get_source_state() const
Get the SourceStateInst that corresponds to this Instruction.
void set_javalocal_index(std::size_t i, s4 javalocal_index)
Set the javalocal index of the i-th operand of this instruction.
Maps a HIR value to a baseline IR javalocal index.
const_javalocal_iterator javalocal_end() const
Type::TypeID get_type() const
get the value type of the instruction
This Instruction marks the start of a basic block.
A basic block of (scheduled) machine instructions.
const_stackvar_iterator stackvar_begin() const
A point where the method can be entered through on-stack replacement.
Represents a point in the program, where it is possible to recover the source state to perform on-sta...
void set_operand(std::size_t i, MachineOperand *op)
virtual void visit(BeginInst *I, bool copyOperands)
const_param_iterator param_begin() const
const_param_iterator param_end() const
virtual MachineInstruction * create_Jump(MachineBasicBlock *target) const =0
const_javalocal_iterator javalocal_begin() const
Base type of instructions that can be mapped to a SourceStateInst.
SourceStateInst * get_source_state() const
Get the source state at this ReplacementEntryInst.
static Backend * factory(JITData *JD)
void push_back(MachineInstruction *value)
Appends the given element value to the end of the container.
StackvarListTy::const_iterator const_stackvar_iterator
JavalocalListTy::const_iterator const_javalocal_iterator
Provides a mapping from HIR values to baseline IR variables.
void insert_phi(MachinePhiInst *value)
Appends the given element value to the list of phis.
const_stackvar_iterator stackvar_end() const
MachineInstructionSchedule::iterator insert_after(iterator pos, const MBBBuilder &value)
inserts value after the element pointed to by pos
BeginInstRef & get_target()
Proxy to encode explicit and implicit successors.
MachineBasicBlock * get_current() const
void lower_source_state_dependencies(MachineReplacementPointInst *MI, SourceStateInst *source_state)
ParamListTy::const_iterator const_param_iterator
Operands that can be directly used by the machine (register, memory, stackslot)
const MachineOperandDesc & get_result() const
MachineBasicBlock * new_block() const
MachineOperand * get_op(Instruction *I) const
std::size_t index
A baseline IR javalocal index.
void place_deoptimization_marker(SourceStateAwareInst *I)
Value * value
The value that is mapped to a baseline IR javalocal index.
MachineInstructionSchedule * schedule
s4 get_source_location() const