aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/graphKit.cpp
diff options
context:
space:
mode:
authorjrose <none@none>2011-04-09 21:16:12 -0700
committerjrose <none@none>2011-04-09 21:16:12 -0700
commit3dba0c694c7215ccc865fe0f65352ba4ec5456e8 (patch)
tree95db1c0e4a096f52bef193735e40130d97c3d7e9 /src/share/vm/opto/graphKit.cpp
parent9163142be698cffba17b791f0daaf5208567b9ba (diff)
parent80a1479a9e8ca81e5406e4b030a9433d05419cf9 (diff)
Merge
Diffstat (limited to 'src/share/vm/opto/graphKit.cpp')
-rw-r--r--src/share/vm/opto/graphKit.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/share/vm/opto/graphKit.cpp b/src/share/vm/opto/graphKit.cpp
index 794a0f717..afa2efff9 100644
--- a/src/share/vm/opto/graphKit.cpp
+++ b/src/share/vm/opto/graphKit.cpp
@@ -3385,12 +3385,17 @@ void GraphKit::add_predicate(int nargs) {
#define __ ideal.
void GraphKit::sync_kit(IdealKit& ideal) {
- // Final sync IdealKit and graphKit.
- __ drain_delay_transform();
set_all_memory(__ merged_memory());
+ set_i_o(__ i_o());
set_control(__ ctrl());
}
+void GraphKit::final_sync(IdealKit& ideal) {
+ // Final sync IdealKit and graphKit.
+ __ drain_delay_transform();
+ sync_kit(ideal);
+}
+
// vanilla/CMS post barrier
// Insert a write-barrier store. This is to let generational GC work; we have
// to flag all oop-stores before the next GC point.
@@ -3435,7 +3440,7 @@ void GraphKit::write_barrier_post(Node* oop_store,
// (Else it's an array (or unknown), and we want more precise card marks.)
assert(adr != NULL, "");
- IdealKit ideal(gvn(), control(), merged_memory(), true);
+ IdealKit ideal(this, true);
// Convert the pointer to an int prior to doing math on it
Node* cast = __ CastPX(__ ctrl(), adr);
@@ -3461,7 +3466,7 @@ void GraphKit::write_barrier_post(Node* oop_store,
}
// Final sync IdealKit and GraphKit.
- sync_kit(ideal);
+ final_sync(ideal);
}
// G1 pre/post barriers
@@ -3471,7 +3476,7 @@ void GraphKit::g1_write_barrier_pre(Node* obj,
Node* val,
const TypeOopPtr* val_type,
BasicType bt) {
- IdealKit ideal(gvn(), control(), merged_memory(), true);
+ IdealKit ideal(this, true);
Node* tls = __ thread(); // ThreadLocalStorage
@@ -3548,7 +3553,7 @@ void GraphKit::g1_write_barrier_pre(Node* obj,
} __ end_if(); // (!marking)
// Final sync IdealKit and GraphKit.
- sync_kit(ideal);
+ final_sync(ideal);
}
//
@@ -3614,7 +3619,7 @@ void GraphKit::g1_write_barrier_post(Node* oop_store,
// (Else it's an array (or unknown), and we want more precise card marks.)
assert(adr != NULL, "");
- IdealKit ideal(gvn(), control(), merged_memory(), true);
+ IdealKit ideal(this, true);
Node* tls = __ thread(); // ThreadLocalStorage
@@ -3688,6 +3693,6 @@ void GraphKit::g1_write_barrier_post(Node* oop_store,
}
// Final sync IdealKit and GraphKit.
- sync_kit(ideal);
+ final_sync(ideal);
}
#undef __