Mercurial > hg > truffle
comparison src/share/vm/opto/callnode.cpp @ 223:1dd146f17531
6716441: error in meet with +DoEscapeAnalysis
Summary: Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
author | kvn |
---|---|
date | Thu, 26 Jun 2008 13:34:00 -0700 |
parents | 885ed790ecf0 |
children | 9c2ecc2ffb12 |
comparison
equal
deleted
inserted
replaced
222:2a1a77d3458f | 223:1dd146f17531 |
---|---|
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"); |