< prev index next >
src/share/vm/opto/macro.hpp
Print this page
rev 12906 : [mq]: gc_interface
*** 36,49 ****
class PhaseMacroExpand : public Phase {
private:
PhaseIterGVN &_igvn;
// Helper methods roughly modeled after GraphKit:
- Node* top() const { return C->top(); }
- Node* intcon(jint con) const { return _igvn.intcon(con); }
- Node* longcon(jlong con) const { return _igvn.longcon(con); }
- Node* makecon(const Type *t) const { return _igvn.makecon(t); }
Node* basic_plus_adr(Node* base, int offset) {
return (offset == 0)? base: basic_plus_adr(base, MakeConX(offset));
}
Node* basic_plus_adr(Node* base, Node* ptr, int offset) {
return (offset == 0)? ptr: basic_plus_adr(base, ptr, MakeConX(offset));
--- 36,45 ----
*** 92,102 ****
bool eliminate_allocate_node(AllocateNode *alloc);
bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints);
bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done);
void process_users_of_allocation(CallNode *alloc);
! void eliminate_card_mark(Node *cm);
void mark_eliminated_box(Node* box, Node* obj);
void mark_eliminated_locking_nodes(AbstractLockNode *alock);
bool eliminate_locking_node(AbstractLockNode *alock);
void expand_lock_node(LockNode *lock);
void expand_unlock_node(UnlockNode *unlock);
--- 88,98 ----
bool eliminate_allocate_node(AllocateNode *alloc);
bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints);
bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done);
void process_users_of_allocation(CallNode *alloc);
! void eliminate_gc_barrier(Node *p2x);
void mark_eliminated_box(Node* box, Node* obj);
void mark_eliminated_locking_nodes(AbstractLockNode *alock);
bool eliminate_locking_node(AbstractLockNode *alock);
void expand_lock_node(LockNode *lock);
void expand_unlock_node(UnlockNode *unlock);
*** 207,214 ****
--- 203,216 ----
_igvn.set_delay_transform(true);
}
void eliminate_macro_nodes();
bool expand_macro_nodes();
+ // Members accessed from C2BarrierSetCodeGen
+ void replace_node(Node* source, Node* target) { _igvn.replace_node(source, target); }
+ Node* intcon(jint con) const { return _igvn.intcon(con); }
+ Node* longcon(jlong con) const { return _igvn.longcon(con); }
+ Node* makecon(const Type *t) const { return _igvn.makecon(t); }
+ Node* top() const { return C->top(); }
};
#endif // SHARE_VM_OPTO_MACRO_HPP
< prev index next >