hotspot/src/share/vm/opto/macro.hpp
changeset 32370 38b7b5772b4f
parent 30244 d4e471395ff5
child 43483 17e7b1ef5a83
equal deleted inserted replaced
32369:ad8f0f5c3717 32370:38b7b5772b4f
    83   void expand_allocate_array(AllocateArrayNode *alloc);
    83   void expand_allocate_array(AllocateArrayNode *alloc);
    84   void expand_allocate_common(AllocateNode* alloc,
    84   void expand_allocate_common(AllocateNode* alloc,
    85                               Node* length,
    85                               Node* length,
    86                               const TypeFunc* slow_call_type,
    86                               const TypeFunc* slow_call_type,
    87                               address slow_call_address);
    87                               address slow_call_address);
    88   Node *value_from_mem(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc);
    88   Node *value_from_mem(Node *mem, Node *ctl, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, AllocateNode *alloc);
    89   Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, Node *alloc, Node_Stack *value_phis, int level);
    89   Node *value_from_mem_phi(Node *mem, BasicType ft, const Type *ftype, const TypeOopPtr *adr_t, AllocateNode *alloc, Node_Stack *value_phis, int level);
    90 
    90 
    91   bool eliminate_boxing_node(CallStaticJavaNode *boxing);
    91   bool eliminate_boxing_node(CallStaticJavaNode *boxing);
    92   bool eliminate_allocate_node(AllocateNode *alloc);
    92   bool eliminate_allocate_node(AllocateNode *alloc);
    93   bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints);
    93   bool can_eliminate_allocation(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints);
    94   bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done);
    94   bool scalar_replacement(AllocateNode *alloc, GrowableArray <SafePointNode *>& safepoints_done);
   198   Node* prefetch_allocation(Node* i_o,
   198   Node* prefetch_allocation(Node* i_o,
   199                             Node*& needgc_false, Node*& contended_phi_rawmem,
   199                             Node*& needgc_false, Node*& contended_phi_rawmem,
   200                             Node* old_eden_top, Node* new_eden_top,
   200                             Node* old_eden_top, Node* new_eden_top,
   201                             Node* length);
   201                             Node* length);
   202 
   202 
       
   203   Node* make_arraycopy_load(ArrayCopyNode* ac, intptr_t offset, Node* ctl, BasicType ft, const Type *ftype, AllocateNode *alloc);
       
   204 
   203 public:
   205 public:
   204   PhaseMacroExpand(PhaseIterGVN &igvn) : Phase(Macro_Expand), _igvn(igvn), _has_locks(false) {
   206   PhaseMacroExpand(PhaseIterGVN &igvn) : Phase(Macro_Expand), _igvn(igvn), _has_locks(false) {
   205     _igvn.set_delay_transform(true);
   207     _igvn.set_delay_transform(true);
   206   }
   208   }
   207   void eliminate_macro_nodes();
   209   void eliminate_macro_nodes();