equal
deleted
inserted
replaced
510 } |
510 } |
511 } else { |
511 } else { |
512 assert(ptn != NULL, "node should be registered"); |
512 assert(ptn != NULL, "node should be registered"); |
513 } |
513 } |
514 add_edge(ptnode_adr(n->_idx), ptn); |
514 add_edge(ptnode_adr(n->_idx), ptn); |
515 } |
515 } |
516 |
|
517 // Helper functions |
516 // Helper functions |
518 bool is_oop_field(Node* n, int offset); |
517 bool is_oop_field(Node* n, int offset, bool* unsafe); |
519 static Node* get_addp_base(Node *addp); |
518 static Node* get_addp_base(Node *addp); |
520 static Node* find_second_addp(Node* addp, Node* n); |
519 static Node* find_second_addp(Node* addp, Node* n); |
521 |
|
522 // offset of a field reference |
520 // offset of a field reference |
523 int address_offset(Node* adr, PhaseTransform *phase); |
521 int address_offset(Node* adr, PhaseTransform *phase); |
524 |
522 |
525 |
523 |
526 // Propagate unique types created for unescaped allocated objects |
524 // Propagate unique types created for unescaped allocated objects |