hotspot/src/share/vm/opto/callnode.cpp
changeset 781 e1baa9c8f16f
parent 670 ddf3e9583f2f
parent 769 78e5090c7a20
child 955 723d7b577fba
equal deleted inserted replaced
743:b8b10c2a28fd 781:e1baa9c8f16f
   630 //
   630 //
   631 bool CallNode::may_modify(const TypePtr *addr_t, PhaseTransform *phase) {
   631 bool CallNode::may_modify(const TypePtr *addr_t, PhaseTransform *phase) {
   632   const TypeOopPtr *adrInst_t  = addr_t->isa_oopptr();
   632   const TypeOopPtr *adrInst_t  = addr_t->isa_oopptr();
   633 
   633 
   634   // if not an InstPtr or not an instance type, assume the worst
   634   // if not an InstPtr or not an instance type, assume the worst
   635   if (adrInst_t == NULL || !adrInst_t->is_instance_field()) {
   635   if (adrInst_t == NULL || !adrInst_t->is_known_instance_field()) {
   636     return true;
   636     return true;
   637   }
   637   }
   638   Compile *C = phase->C;
   638   Compile *C = phase->C;
   639   int offset = adrInst_t->offset();
   639   int offset = adrInst_t->offset();
   640   assert(adrInst_t->klass_is_exact() && offset >= 0, "should be valid offset");
   640   assert(adrInst_t->klass_is_exact() && offset >= 0, "should be valid offset");