< prev index next >

src/hotspot/share/c1/c1_Instruction.hpp

Print this page


 494 
 495   // when blocks are merged
 496   void fixup_block_pointers() {
 497     Instruction *cur = next()->next(); // next()'s block is set in set_next
 498     while (cur && cur->_block != block()) {
 499       cur->_block = block();
 500       cur = cur->next();
 501     }
 502   }
 503 
 504   Instruction *insert_after(Instruction *i) {
 505     Instruction* n = _next;
 506     set_next(i);
 507     i->set_next(n);
 508     return _next;
 509   }
 510 
 511   bool is_flattened_array() const;             // FIXME -- remove it
 512 
 513   bool is_loaded_flattened_array() const;
 514   bool maybe_flattened_array() const;
 515 
 516   Instruction *insert_after_same_bci(Instruction *i) {
 517 #ifndef PRODUCT
 518     i->set_printable_bci(printable_bci());
 519 #endif
 520     return insert_after(i);
 521   }
 522 
 523   void set_subst(Instruction* subst)             {
 524     assert(subst == NULL ||
 525            type()->base() == subst->type()->base() ||
 526            subst->type()->base() == illegalType, "type can't change");
 527     _subst = subst;
 528   }
 529   void set_exception_handlers(XHandlers *xhandlers) { _exception_handlers = xhandlers; }
 530   void set_exception_state(ValueStack* s)        { check_state(s); _exception_state = s; }
 531   void set_state_before(ValueStack* s)           { check_state(s); _state_before = s; }
 532 
 533   // machine-specifics
 534   void set_operand(LIR_Opr operand)              { assert(operand != LIR_OprFact::illegalOpr, "operand must exist"); _operand = operand; }




 494 
 495   // when blocks are merged
 496   void fixup_block_pointers() {
 497     Instruction *cur = next()->next(); // next()'s block is set in set_next
 498     while (cur && cur->_block != block()) {
 499       cur->_block = block();
 500       cur = cur->next();
 501     }
 502   }
 503 
 504   Instruction *insert_after(Instruction *i) {
 505     Instruction* n = _next;
 506     set_next(i);
 507     i->set_next(n);
 508     return _next;
 509   }
 510 
 511   bool is_flattened_array() const;             // FIXME -- remove it
 512 
 513   bool is_loaded_flattened_array() const;
 514   bool maybe_flattened_array();
 515 
 516   Instruction *insert_after_same_bci(Instruction *i) {
 517 #ifndef PRODUCT
 518     i->set_printable_bci(printable_bci());
 519 #endif
 520     return insert_after(i);
 521   }
 522 
 523   void set_subst(Instruction* subst)             {
 524     assert(subst == NULL ||
 525            type()->base() == subst->type()->base() ||
 526            subst->type()->base() == illegalType, "type can't change");
 527     _subst = subst;
 528   }
 529   void set_exception_handlers(XHandlers *xhandlers) { _exception_handlers = xhandlers; }
 530   void set_exception_state(ValueStack* s)        { check_state(s); _exception_state = s; }
 531   void set_state_before(ValueStack* s)           { check_state(s); _state_before = s; }
 532 
 533   // machine-specifics
 534   void set_operand(LIR_Opr operand)              { assert(operand != LIR_OprFact::illegalOpr, "operand must exist"); _operand = operand; }


< prev index next >