84 const TypeFunc* slow_call_type, |
84 const TypeFunc* slow_call_type, |
85 address slow_call_address); |
85 address slow_call_address); |
86 Node *value_from_mem(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc); |
86 Node *value_from_mem(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc); |
87 Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc, Node_Stack *value_phis, int level); |
87 Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc, Node_Stack *value_phis, int level); |
88 |
88 |
|
89 bool eliminate_boxing_node(CallStaticJavaNode *boxing); |
89 bool eliminate_allocate_node(AllocateNode *alloc); |
90 bool eliminate_allocate_node(AllocateNode *alloc); |
90 bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints); |
91 bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints); |
91 bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done); |
92 bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done); |
92 void process_users_of_allocation(AllocateNode *alloc); |
93 void process_users_of_allocation(CallNode *alloc); |
93 |
94 |
94 void eliminate_card_mark(Node *cm); |
95 void eliminate_card_mark(Node *cm); |
95 void mark_eliminated_box(Node* box, Node* obj); |
96 void mark_eliminated_box(Node* box, Node* obj); |
96 void mark_eliminated_locking_nodes(AbstractLockNode *alock); |
97 void mark_eliminated_locking_nodes(AbstractLockNode *alock); |
97 bool eliminate_locking_node(AbstractLockNode *alock); |
98 bool eliminate_locking_node(AbstractLockNode *alock); |