77 void expand_allocate_common(AllocateNode* alloc, |
77 void expand_allocate_common(AllocateNode* alloc, |
78 Node* length, |
78 Node* length, |
79 const TypeFunc* slow_call_type, |
79 const TypeFunc* slow_call_type, |
80 address slow_call_address); |
80 address slow_call_address); |
81 Node *value_from_mem(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc); |
81 Node *value_from_mem(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc); |
82 Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc, int level); |
82 Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc, Node_Stack *value_phis, int level); |
83 |
83 |
84 bool eliminate_allocate_node(AllocateNode *alloc); |
84 bool eliminate_allocate_node(AllocateNode *alloc); |
85 bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints); |
85 bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints); |
86 bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done); |
86 bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done); |
87 void process_users_of_allocation(AllocateNode *alloc); |
87 void process_users_of_allocation(AllocateNode *alloc); |