aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/compile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/opto/compile.cpp')
-rw-r--r--src/share/vm/opto/compile.cpp32
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);
}
}