CACAO
Public Member Functions
cacao::jit::compiler2::x86_64::JumpInst Class Reference
Inheritance diagram for cacao::jit::compiler2::x86_64::JumpInst:
cacao::jit::compiler2::MachineJumpInst cacao::jit::compiler2::MachineInstruction cacao::jit::compiler2::memory::ManagerMixin< MachineInstruction >

Public Member Functions

 JumpInst (MachineBasicBlock *target)
 
virtual bool is_jump () const
 
void set_target (MachineBasicBlock *target)
 
virtual void emit (CodeMemory *CM) const
 emit machine code More...
 
virtual void link (CodeFragment &CF) const
 link machine code More...
 
- Public Member Functions inherited from cacao::jit::compiler2::MachineJumpInst
 MachineJumpInst (const char *name)
 
- Public Member Functions inherited from cacao::jit::compiler2::MachineInstruction
 MachineInstruction (const char *name, MachineOperand *result, std::size_t num_operands, const char *comment=NULL)
 
void set_comment (const char *c)
 
const char * get_comment () const
 
void set_operand (std::size_t i, MachineOperand *op)
 
void finalize_operands ()
 has to be called after all operands with embedded operands have been added More...
 
virtual void set_block (MachineBasicBlock *MBB)
 
MachineBasicBlockget_block () const
 
std::size_t op_size () const
 
MachineOperandDescoperator[] (std::size_t i)
 
const MachineOperandDescget (std::size_t i) const
 
MachineOperandDescget (std::size_t i)
 
operand_iterator begin ()
 
operand_iterator end ()
 
operand_iterator find (MachineOperand *op)
 
MachineOperandDescfront ()
 
MachineOperandDescback ()
 
const_operand_iterator begin () const
 
const_operand_iterator end () const
 
std::size_t dummy_op_size () const
 
const MachineOperandDescget_dummy (std::size_t i) const
 
MachineOperandDescget_dummy (std::size_t i)
 
dummy_operand_iterator dummy_begin ()
 
dummy_operand_iterator dummy_end ()
 
dummy_operand_iterator find_dummy (MachineOperand *op)
 
MachineOperandDescdummy_front ()
 
MachineOperandDescdummy_back ()
 
const_dummy_operand_iterator dummy_begin () const
 
const_dummy_operand_iterator dummy_end () const
 
successor_iterator successor_begin ()
 
successor_iterator successor_end ()
 
const_successor_iterator successor_begin () const
 
MachineBasicBlocksuccessor_front () const
 
MachineBasicBlocksuccessor_back () const
 
const_successor_iterator successor_end () const
 
std::size_t successor_size () const
 
bool successor_empty () const
 
std::size_t get_id () const
 
const char * get_name () const
 
const MachineOperandDescget_result () const
 
MachineOperandDescget_result ()
 
void set_result (MachineOperand *MO)
 
virtual bool accepts_immediate (std::size_t i, Immediate *imm) const
 
virtual bool is_label () const
 
virtual bool is_phi () const
 
virtual bool is_move () const
 
virtual bool is_end () const
 
virtual MachineMoveInst * to_MachineMoveInst ()
 
virtual MachinePhiInstto_MachinePhiInst ()
 
OStreamprint (OStream &OS) const
 print instruction More...
 
virtual OStreamprint_successor_label (OStream &OS, std::size_t index) const
 print successor label More...
 
virtual OStreamprint_operands (OStream &OS) const
 print operands More...
 
virtual OStreamprint_result (OStream &OS) const
 print result More...
 
virtual ~MachineInstruction ()
 destructor More...
 

Additional Inherited Members

- Public Types inherited from cacao::jit::compiler2::MachineInstruction
typedef alloc::vector
< MachineOperandDesc >::type 
operand_list
 
typedef operand_list::iterator operand_iterator
 
typedef
operand_list::const_iterator 
const_operand_iterator
 
typedef alloc::vector
< MachineOperandDesc >::type 
dummy_operand_list
 
typedef
dummy_operand_list::iterator 
dummy_operand_iterator
 
typedef
dummy_operand_list::const_iterator 
const_dummy_operand_iterator
 
typedef alloc::unordered_map
< EmbeddedMachineOperand
*, int >::type 
RefMapTy
 
typedef alloc::list
< MachineBasicBlock * >::type 
successor_list
 
typedef successor_list::iterator successor_iterator
 
typedef
successor_list::const_iterator 
const_successor_iterator
 
- Static Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< MachineInstruction >
static voidoperator new (std::size_t size) throw (std::bad_alloc)
 normal new More...
 
static voidoperator new (std::size_t size, void *ptr) throw ()
 placement new More...
 
static voidoperator new (std::size_t size, const std::nothrow_t &nt) throw ()
 nothrow new More...
 
static void operator delete (void *pMemory) throw ()
 normal delete More...
 
static void operator delete (void *pMemory, void *ptr) throw ()
 placement delete More...
 
static void operator delete (void *pMemory, const std::nothrow_t &) throw ()
 nothrow delete More...
 
static voidoperator new[] (std::size_t size) throw (std::bad_alloc)
 normal new[] More...
 
static voidoperator new[] (std::size_t size, void *ptr) throw ()
 placement new[] More...
 
static voidoperator new[] (std::size_t size, const std::nothrow_t &nt) throw ()
 nothrow new[] More...
 
static void operator delete[] (void *pMemory) throw ()
 normal delete[] More...
 
static void operator delete[] (void *pMemory, void *ptr) throw ()
 placement delete[] More...
 
static void operator delete[] (void *pMemory, const std::nothrow_t &) throw ()
 nothrow delete[] More...
 
- Protected Attributes inherited from cacao::jit::compiler2::MachineInstruction
const std::size_t id
 
operand_list operands
 
dummy_operand_list dummy_operands
 dummy_operands is a list of operands embedded in the real operands of this instruction that need register allocation (for example indirect addressing on x86) More...
 
RefMapTy ref_map
 
successor_list successors
 
MachineOperandDesc result
 
const char * name
 
const char * comment
 
MachineBasicBlockblock
 

Detailed Description

Definition at line 679 of file X86_64Instructions.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::x86_64::JumpInst::JumpInst ( MachineBasicBlock target)
inline

Definition at line 681 of file X86_64Instructions.hpp.

Member Function Documentation

void cacao::jit::compiler2::x86_64::JumpInst::emit ( CodeMemory CM) const
virtual

emit machine code

Implements cacao::jit::compiler2::MachineJumpInst.

Definition at line 715 of file X86_64Instructions.cpp.

virtual bool cacao::jit::compiler2::x86_64::JumpInst::is_jump ( ) const
inlinevirtual

Reimplemented from cacao::jit::compiler2::MachineInstruction.

Definition at line 684 of file X86_64Instructions.hpp.

void cacao::jit::compiler2::x86_64::JumpInst::link ( CodeFragment CF) const
virtual

link machine code

Implements cacao::jit::compiler2::MachineJumpInst.

Definition at line 739 of file X86_64Instructions.cpp.

void cacao::jit::compiler2::x86_64::JumpInst::set_target ( MachineBasicBlock target)
inline

Definition at line 687 of file X86_64Instructions.hpp.


The documentation for this class was generated from the following files: