hotspot/src/share/vm/ci/ciObject.cpp
changeset 9959 a6730101c2d0
parent 9332 2c0eaca39eb4
child 10514 e229a19078cf
equal deleted inserted replaced
9958:dedfe67ddc58 9959:a6730101c2d0
   185 
   185 
   186 // ------------------------------------------------------------------
   186 // ------------------------------------------------------------------
   187 // ciObject::can_be_constant
   187 // ciObject::can_be_constant
   188 bool ciObject::can_be_constant() {
   188 bool ciObject::can_be_constant() {
   189   if (ScavengeRootsInCode >= 1)  return true;  // now everybody can encode as a constant
   189   if (ScavengeRootsInCode >= 1)  return true;  // now everybody can encode as a constant
   190   return handle() == NULL || !is_scavengable();
   190   return handle() == NULL || is_perm();
   191 }
   191 }
   192 
   192 
   193 // ------------------------------------------------------------------
   193 // ------------------------------------------------------------------
   194 // ciObject::should_be_constant()
   194 // ciObject::should_be_constant()
   195 bool ciObject::should_be_constant() {
   195 bool ciObject::should_be_constant() {
   202     ciEnv* env = CURRENT_ENV;
   202     ciEnv* env = CURRENT_ENV;
   203     if (klass() == env->String_klass() || klass() == env->Class_klass()) {
   203     if (klass() == env->String_klass() || klass() == env->Class_klass()) {
   204       return true;
   204       return true;
   205     }
   205     }
   206   }
   206   }
   207   return handle() == NULL || !is_scavengable();
   207   return handle() == NULL || is_perm();
   208 }
   208 }
   209 
   209 
   210 
   210 
   211 // ------------------------------------------------------------------
   211 // ------------------------------------------------------------------
   212 // ciObject::print
   212 // ciObject::print