equal
deleted
inserted
replaced
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"); |