3992 // raw pointers and int types are treated differently 3993 // when saving local & stack info for safepoints in 3994 // Output(). 3995 //if( strcmp(opType,"CastX2P")==0 ) 3996 // return 1; 3997 //if( strcmp(opType,"CastP2X")==0 ) 3998 // return 1; 3999 #endif 4000 } 4001 if( is_chain_rule(_AD.globalNames()) && 4002 _lChild && strncmp(_lChild->_opType,"stackSlot",9)==0 ) 4003 return 1; 4004 return 0; 4005 } 4006 4007 4008 int MatchRule::is_expensive() const { 4009 if( _rChild ) { 4010 const char *opType = _rChild->_opType; 4011 if( strcmp(opType,"AtanD")==0 || 4012 strcmp(opType,"CosD")==0 || 4013 strcmp(opType,"DivD")==0 || 4014 strcmp(opType,"DivF")==0 || 4015 strcmp(opType,"DivI")==0 || 4016 strcmp(opType,"Log10D")==0 || 4017 strcmp(opType,"ModD")==0 || 4018 strcmp(opType,"ModF")==0 || 4019 strcmp(opType,"ModI")==0 || 4020 strcmp(opType,"PowD")==0 || 4021 strcmp(opType,"SinD")==0 || 4022 strcmp(opType,"SqrtD")==0 || 4023 strcmp(opType,"TanD")==0 || 4024 strcmp(opType,"ConvD2F")==0 || 4025 strcmp(opType,"ConvD2I")==0 || 4026 strcmp(opType,"ConvD2L")==0 || 4027 strcmp(opType,"ConvF2D")==0 || 4028 strcmp(opType,"ConvF2I")==0 || 4029 strcmp(opType,"ConvF2L")==0 || 4030 strcmp(opType,"ConvI2D")==0 || 4031 strcmp(opType,"ConvI2F")==0 || 4032 strcmp(opType,"ConvI2L")==0 || 4033 strcmp(opType,"ConvL2D")==0 || 4034 strcmp(opType,"ConvL2F")==0 || 4035 strcmp(opType,"ConvL2I")==0 || 4036 strcmp(opType,"DecodeN")==0 || 4037 strcmp(opType,"EncodeP")==0 || 4038 strcmp(opType,"EncodePKlass")==0 || 4039 strcmp(opType,"DecodeNKlass")==0 || 4040 strcmp(opType,"RoundDouble")==0 || 4041 strcmp(opType,"RoundFloat")==0 || | 3992 // raw pointers and int types are treated differently 3993 // when saving local & stack info for safepoints in 3994 // Output(). 3995 //if( strcmp(opType,"CastX2P")==0 ) 3996 // return 1; 3997 //if( strcmp(opType,"CastP2X")==0 ) 3998 // return 1; 3999 #endif 4000 } 4001 if( is_chain_rule(_AD.globalNames()) && 4002 _lChild && strncmp(_lChild->_opType,"stackSlot",9)==0 ) 4003 return 1; 4004 return 0; 4005 } 4006 4007 4008 int MatchRule::is_expensive() const { 4009 if( _rChild ) { 4010 const char *opType = _rChild->_opType; 4011 if( strcmp(opType,"AtanD")==0 || 4012 strcmp(opType,"DivD")==0 || 4013 strcmp(opType,"DivF")==0 || 4014 strcmp(opType,"DivI")==0 || 4015 strcmp(opType,"Log10D")==0 || 4016 strcmp(opType,"ModD")==0 || 4017 strcmp(opType,"ModF")==0 || 4018 strcmp(opType,"ModI")==0 || 4019 strcmp(opType,"PowD")==0 || 4020 strcmp(opType,"SqrtD")==0 || 4021 strcmp(opType,"TanD")==0 || 4022 strcmp(opType,"ConvD2F")==0 || 4023 strcmp(opType,"ConvD2I")==0 || 4024 strcmp(opType,"ConvD2L")==0 || 4025 strcmp(opType,"ConvF2D")==0 || 4026 strcmp(opType,"ConvF2I")==0 || 4027 strcmp(opType,"ConvF2L")==0 || 4028 strcmp(opType,"ConvI2D")==0 || 4029 strcmp(opType,"ConvI2F")==0 || 4030 strcmp(opType,"ConvI2L")==0 || 4031 strcmp(opType,"ConvL2D")==0 || 4032 strcmp(opType,"ConvL2F")==0 || 4033 strcmp(opType,"ConvL2I")==0 || 4034 strcmp(opType,"DecodeN")==0 || 4035 strcmp(opType,"EncodeP")==0 || 4036 strcmp(opType,"EncodePKlass")==0 || 4037 strcmp(opType,"DecodeNKlass")==0 || 4038 strcmp(opType,"RoundDouble")==0 || 4039 strcmp(opType,"RoundFloat")==0 || |