765 (!strcmp(_matrule->_rChild->_opType,"CastPP") || // new result type
766 !strcmp(_matrule->_rChild->_opType,"CastX2P") || // new result type
767 !strcmp(_matrule->_rChild->_opType,"DecodeN") ||
768 !strcmp(_matrule->_rChild->_opType,"EncodeP") ||
769 !strcmp(_matrule->_rChild->_opType,"DecodeNKlass") ||
770 !strcmp(_matrule->_rChild->_opType,"EncodePKlass") ||
771 !strcmp(_matrule->_rChild->_opType,"LoadN") ||
772 !strcmp(_matrule->_rChild->_opType,"LoadNKlass") ||
773 !strcmp(_matrule->_rChild->_opType,"CreateEx") || // type of exception
774 !strcmp(_matrule->_rChild->_opType,"CheckCastPP") ||
775 !strcmp(_matrule->_rChild->_opType,"GetAndSetP") ||
776 !strcmp(_matrule->_rChild->_opType,"GetAndSetN") ||
777 #if INCLUDE_ZGC
778 !strcmp(_matrule->_rChild->_opType,"LoadBarrierSlowReg") ||
779 !strcmp(_matrule->_rChild->_opType,"LoadBarrierWeakSlowReg") ||
780 #endif
781 #if INCLUDE_SHENANDOAHGC
782 !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeP") ||
783 !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeN") ||
784 #endif
785 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeP") ||
786 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeN"))) return true;
787 else if ( is_ideal_load() == Form::idealP ) return true;
788 else if ( is_ideal_store() != Form::none ) return true;
789
790 if (needs_base_oop_edge(globals)) return true;
791
792 if (is_vector()) return true;
793 if (is_mach_constant()) return true;
794
795 return false;
796 }
797
798
799 // Access instr_cost attribute or return NULL.
800 const char* InstructForm::cost() {
801 for (Attribute* cur = _attribs; cur != NULL; cur = (Attribute*)cur->_next) {
802 if( strcmp(cur->_ident,AttributeForm::_ins_cost) == 0 ) {
803 return cur->_val;
804 }
|
765 (!strcmp(_matrule->_rChild->_opType,"CastPP") || // new result type
766 !strcmp(_matrule->_rChild->_opType,"CastX2P") || // new result type
767 !strcmp(_matrule->_rChild->_opType,"DecodeN") ||
768 !strcmp(_matrule->_rChild->_opType,"EncodeP") ||
769 !strcmp(_matrule->_rChild->_opType,"DecodeNKlass") ||
770 !strcmp(_matrule->_rChild->_opType,"EncodePKlass") ||
771 !strcmp(_matrule->_rChild->_opType,"LoadN") ||
772 !strcmp(_matrule->_rChild->_opType,"LoadNKlass") ||
773 !strcmp(_matrule->_rChild->_opType,"CreateEx") || // type of exception
774 !strcmp(_matrule->_rChild->_opType,"CheckCastPP") ||
775 !strcmp(_matrule->_rChild->_opType,"GetAndSetP") ||
776 !strcmp(_matrule->_rChild->_opType,"GetAndSetN") ||
777 #if INCLUDE_ZGC
778 !strcmp(_matrule->_rChild->_opType,"LoadBarrierSlowReg") ||
779 !strcmp(_matrule->_rChild->_opType,"LoadBarrierWeakSlowReg") ||
780 #endif
781 #if INCLUDE_SHENANDOAHGC
782 !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeP") ||
783 !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeN") ||
784 #endif
785 !strcmp(_matrule->_rChild->_opType,"StrInflatedCopy") ||
786 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeP") ||
787 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeN"))) return true;
788 else if ( is_ideal_load() == Form::idealP ) return true;
789 else if ( is_ideal_store() != Form::none ) return true;
790
791 if (needs_base_oop_edge(globals)) return true;
792
793 if (is_vector()) return true;
794 if (is_mach_constant()) return true;
795
796 return false;
797 }
798
799
800 // Access instr_cost attribute or return NULL.
801 const char* InstructForm::cost() {
802 for (Attribute* cur = _attribs; cur != NULL; cur = (Attribute*)cur->_next) {
803 if( strcmp(cur->_ident,AttributeForm::_ins_cost) == 0 ) {
804 return cur->_val;
805 }
|