diff options
author | jrose <none@none> | 2011-04-09 21:16:12 -0700 |
---|---|---|
committer | jrose <none@none> | 2011-04-09 21:16:12 -0700 |
commit | 3dba0c694c7215ccc865fe0f65352ba4ec5456e8 (patch) | |
tree | 95db1c0e4a096f52bef193735e40130d97c3d7e9 /src/share/vm/opto/graphKit.cpp | |
parent | 9163142be698cffba17b791f0daaf5208567b9ba (diff) | |
parent | 80a1479a9e8ca81e5406e4b030a9433d05419cf9 (diff) |
Merge
Diffstat (limited to 'src/share/vm/opto/graphKit.cpp')
-rw-r--r-- | src/share/vm/opto/graphKit.cpp | 21 |
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 __ |