Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/macro.hpp @ 73:a8880a78d355
6259129: (Escape Analysis) scalar replacement for not escaping objects
Summary: Use scalar replacement with EA to remove allocations for objects which do not escape the compiled method.
Reviewed-by: rasbold, never, jrose
author | kvn |
---|---|
date | Thu, 20 Mar 2008 13:51:55 -0700 |
parents | 6dbf1a175d6b |
children | ba764ed4b6f2 |
comparison
equal
deleted
inserted
replaced
72:f705f25597eb | 73:a8880a78d355 |
---|---|
76 void expand_allocate_array(AllocateArrayNode *alloc); | 76 void expand_allocate_array(AllocateArrayNode *alloc); |
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); | |
82 Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc, int level); | |
83 | |
84 bool eliminate_allocate_node(AllocateNode *alloc); | |
85 bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints); | |
86 bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done); | |
87 void process_users_of_allocation(AllocateNode *alloc); | |
88 | |
89 void eliminate_card_mark(Node *cm); | |
81 bool eliminate_locking_node(AbstractLockNode *alock); | 90 bool eliminate_locking_node(AbstractLockNode *alock); |
82 void expand_lock_node(LockNode *lock); | 91 void expand_lock_node(LockNode *lock); |
83 void expand_unlock_node(UnlockNode *unlock); | 92 void expand_unlock_node(UnlockNode *unlock); |
84 | 93 |
85 int replace_input(Node *use, Node *oldref, Node *newref); | 94 int replace_input(Node *use, Node *oldref, Node *newref); |