diff options
Diffstat (limited to 'src/share/vm/opto/compile.cpp')
-rw-r--r-- | src/share/vm/opto/compile.cpp | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/share/vm/opto/compile.cpp b/src/share/vm/opto/compile.cpp index 292c52412..36933f976 100644 --- a/src/share/vm/opto/compile.cpp +++ b/src/share/vm/opto/compile.cpp @@ -654,14 +654,14 @@ Compile::Compile( ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int osr const TypeTuple *domain = StartOSRNode::osr_domain(); const TypeTuple *range = TypeTuple::make_range(method()->signature()); init_tf(TypeFunc::make(domain, range)); - StartNode* s = new (this, 2) StartOSRNode(root(), domain); + StartNode* s = new (this) StartOSRNode(root(), domain); initial_gvn()->set_type_bottom(s); init_start(s); cg = CallGenerator::for_osr(method(), entry_bci()); } else { // Normal case. init_tf(TypeFunc::make(method())); - StartNode* s = new (this, 2) StartNode(root(), tf()->domain()); + StartNode* s = new (this) StartNode(root(), tf()->domain()); initial_gvn()->set_type_bottom(s); init_start(s); if (method()->intrinsic_id() == vmIntrinsics::_Reference_get && UseG1GC) { @@ -825,7 +825,8 @@ Compile::Compile( ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int osr &_handler_table, &_inc_table, compiler, env()->comp_level(), - has_unsafe_access() + has_unsafe_access(), + SharedRuntime::is_wide_vector(max_vector_size()) ); } } @@ -946,9 +947,9 @@ void Compile::Init(int aliaslevel) { // Globally visible Nodes // First set TOP to NULL to give safe behavior during creation of RootNode set_cached_top_node(NULL); - set_root(new (this, 3) RootNode()); + set_root(new (this) RootNode()); // Now that you have a Root to point to, create the real TOP - set_cached_top_node( new (this, 1) ConNode(Type::TOP) ); + set_cached_top_node( new (this) ConNode(Type::TOP) ); set_recent_alloc(NULL, NULL); // Create Debug Information Recorder to record scopes, oopmaps, etc. @@ -963,6 +964,7 @@ void Compile::Init(int aliaslevel) { _trap_can_recompile = false; // no traps emitted yet _major_progress = true; // start out assuming good things will happen set_has_unsafe_access(false); + set_max_vector_size(0); Copy::zero_to_bytes(_trap_hist, sizeof(_trap_hist)); set_decompile_count(0); @@ -2274,6 +2276,12 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) { case Op_CompareAndSwapL: case Op_CompareAndSwapP: case Op_CompareAndSwapN: + case Op_GetAndAddI: + case Op_GetAndAddL: + case Op_GetAndSetI: + case Op_GetAndSetL: + case Op_GetAndSetP: + case Op_GetAndSetN: case Op_StoreP: case Op_StoreN: case Op_LoadB: @@ -2337,7 +2345,7 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) { if (nn != NULL) { // Decode a narrow oop to match address // [R12 + narrow_oop_reg<<3 + offset] - nn = new (C, 2) DecodeNNode(nn, t); + nn = new (C) DecodeNNode(nn, t); n->set_req(AddPNode::Base, nn); n->set_req(AddPNode::Address, nn); if (addp->outcnt() == 0) { @@ -2455,7 +2463,7 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) { } } if (new_in2 != NULL) { - Node* cmpN = new (C, 3) CmpNNode(in1->in(1), new_in2); + Node* cmpN = new (C) CmpNNode(in1->in(1), new_in2); n->subsume_by( cmpN ); if (in1->outcnt() == 0) { in1->disconnect_inputs(NULL); @@ -2551,8 +2559,8 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) { n->subsume_by(divmod->mod_proj()); } else { // replace a%b with a-((a/b)*b) - Node* mult = new (C, 3) MulINode(d, d->in(2)); - Node* sub = new (C, 3) SubINode(d->in(1), mult); + Node* mult = new (C) MulINode(d, d->in(2)); + Node* sub = new (C) SubINode(d->in(1), mult); n->subsume_by( sub ); } } @@ -2572,8 +2580,8 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) { n->subsume_by(divmod->mod_proj()); } else { // replace a%b with a-((a/b)*b) - Node* mult = new (C, 3) MulLNode(d, d->in(2)); - Node* sub = new (C, 3) SubLNode(d->in(1), mult); + Node* mult = new (C) MulLNode(d, d->in(2)); + Node* sub = new (C) SubLNode(d->in(1), mult); n->subsume_by( sub ); } } @@ -2624,7 +2632,7 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) { } else { if (t == NULL || t->_lo < 0 || t->_hi > (int)mask) { Compile* C = Compile::current(); - Node* shift = new (C, 3) AndINode(in2, ConNode::make(C, TypeInt::make(mask))); + Node* shift = new (C) AndINode(in2, ConNode::make(C, TypeInt::make(mask))); n->set_req(2, shift); } } |