hotspot/src/share/vm/opto/callnode.cpp
changeset 769 78e5090c7a20
parent 589 a44a1e70a3e4
child 781 e1baa9c8f16f
equal deleted inserted replaced
768:d0bebc7eefc2 769:78e5090c7a20
   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");