280 |
280 |
281 // Top-level ideal Opcode matched |
281 // Top-level ideal Opcode matched |
282 virtual int ideal_Opcode() const { return Op_Node; } |
282 virtual int ideal_Opcode() const { return Op_Node; } |
283 |
283 |
284 // Set the branch inside jump MachNodes. Error for non-branch Nodes. |
284 // Set the branch inside jump MachNodes. Error for non-branch Nodes. |
285 virtual void label_set( Label& label, uint block_num ); |
285 virtual void label_set( Label* label, uint block_num ); |
286 |
286 |
287 // Adds the label for the case |
287 // Adds the label for the case |
288 virtual void add_case_label( int switch_val, Label* blockLabel); |
288 virtual void add_case_label( int switch_val, Label* blockLabel); |
289 |
289 |
290 // Set the absolute address for methods |
290 // Set the absolute address for methods |
529 add_req(ctrl); |
529 add_req(ctrl); |
530 add_req(memop); |
530 add_req(memop); |
531 } |
531 } |
532 |
532 |
533 virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const; |
533 virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const; |
|
534 virtual void label_set(Label* label, uint block_num); |
534 virtual bool pinned() const { return true; }; |
535 virtual bool pinned() const { return true; }; |
535 virtual void negate() { } |
536 virtual void negate() { } |
536 virtual const class Type *bottom_type() const { return TypeTuple::IFBOTH; } |
537 virtual const class Type *bottom_type() const { return TypeTuple::IFBOTH; } |
537 virtual uint ideal_reg() const { return NotAMachineReg; } |
538 virtual uint ideal_reg() const { return NotAMachineReg; } |
538 virtual const RegMask &in_RegMask(uint) const; |
539 virtual const RegMask &in_RegMask(uint) const; |
851 |
852 |
852 labelOper(labelOper* l) : _label(l->_label) , _block_num(l->_block_num) {} |
853 labelOper(labelOper* l) : _label(l->_label) , _block_num(l->_block_num) {} |
853 |
854 |
854 virtual MachOper *clone(Compile* C) const; |
855 virtual MachOper *clone(Compile* C) const; |
855 |
856 |
856 virtual Label *label() const { return _label; } |
857 virtual Label *label() const { assert(_label != NULL, "need Label"); return _label; } |
857 |
858 |
858 virtual uint opcode() const; |
859 virtual uint opcode() const; |
859 |
860 |
860 virtual uint hash() const; |
861 virtual uint hash() const; |
861 virtual uint cmp( const MachOper &oper ) const; |
862 virtual uint cmp( const MachOper &oper ) const; |