src/share/vm/ci/ciMethod.cpp

changeset 5110
6f3fd5150b67
parent 4936
aeaca88565e6
child 5732
b2e698d2276c
     1.1 --- a/src/share/vm/ci/ciMethod.cpp	Mon May 06 19:49:23 2013 -0700
     1.2 +++ b/src/share/vm/ci/ciMethod.cpp	Wed May 08 15:08:01 2013 -0700
     1.3 @@ -1179,6 +1179,44 @@
     1.4  bool ciMethod::is_accessor    () const {         FETCH_FLAG_FROM_VM(is_accessor); }
     1.5  bool ciMethod::is_initializer () const {         FETCH_FLAG_FROM_VM(is_initializer); }
     1.6  
     1.7 +bool ciMethod::is_boxing_method() const {
     1.8 +  if (holder()->is_box_klass()) {
     1.9 +    switch (intrinsic_id()) {
    1.10 +      case vmIntrinsics::_Boolean_valueOf:
    1.11 +      case vmIntrinsics::_Byte_valueOf:
    1.12 +      case vmIntrinsics::_Character_valueOf:
    1.13 +      case vmIntrinsics::_Short_valueOf:
    1.14 +      case vmIntrinsics::_Integer_valueOf:
    1.15 +      case vmIntrinsics::_Long_valueOf:
    1.16 +      case vmIntrinsics::_Float_valueOf:
    1.17 +      case vmIntrinsics::_Double_valueOf:
    1.18 +        return true;
    1.19 +      default:
    1.20 +        return false;
    1.21 +    }
    1.22 +  }
    1.23 +  return false;
    1.24 +}
    1.25 +
    1.26 +bool ciMethod::is_unboxing_method() const {
    1.27 +  if (holder()->is_box_klass()) {
    1.28 +    switch (intrinsic_id()) {
    1.29 +      case vmIntrinsics::_booleanValue:
    1.30 +      case vmIntrinsics::_byteValue:
    1.31 +      case vmIntrinsics::_charValue:
    1.32 +      case vmIntrinsics::_shortValue:
    1.33 +      case vmIntrinsics::_intValue:
    1.34 +      case vmIntrinsics::_longValue:
    1.35 +      case vmIntrinsics::_floatValue:
    1.36 +      case vmIntrinsics::_doubleValue:
    1.37 +        return true;
    1.38 +      default:
    1.39 +        return false;
    1.40 +    }
    1.41 +  }
    1.42 +  return false;
    1.43 +}
    1.44 +
    1.45  BCEscapeAnalyzer  *ciMethod::get_bcea() {
    1.46  #ifdef COMPILER2
    1.47    if (_bcea == NULL) {

mercurial