1.1 --- a/src/share/vm/opto/graphKit.cpp Fri Apr 01 21:45:33 2011 -0700 1.2 +++ b/src/share/vm/opto/graphKit.cpp Sat Apr 02 09:49:27 2011 -0700 1.3 @@ -3385,10 +3385,15 @@ 1.4 #define __ ideal. 1.5 1.6 void GraphKit::sync_kit(IdealKit& ideal) { 1.7 + set_all_memory(__ merged_memory()); 1.8 + set_i_o(__ i_o()); 1.9 + set_control(__ ctrl()); 1.10 +} 1.11 + 1.12 +void GraphKit::final_sync(IdealKit& ideal) { 1.13 // Final sync IdealKit and graphKit. 1.14 __ drain_delay_transform(); 1.15 - set_all_memory(__ merged_memory()); 1.16 - set_control(__ ctrl()); 1.17 + sync_kit(ideal); 1.18 } 1.19 1.20 // vanilla/CMS post barrier 1.21 @@ -3435,7 +3440,7 @@ 1.22 // (Else it's an array (or unknown), and we want more precise card marks.) 1.23 assert(adr != NULL, ""); 1.24 1.25 - IdealKit ideal(gvn(), control(), merged_memory(), true); 1.26 + IdealKit ideal(this, true); 1.27 1.28 // Convert the pointer to an int prior to doing math on it 1.29 Node* cast = __ CastPX(__ ctrl(), adr); 1.30 @@ -3461,7 +3466,7 @@ 1.31 } 1.32 1.33 // Final sync IdealKit and GraphKit. 1.34 - sync_kit(ideal); 1.35 + final_sync(ideal); 1.36 } 1.37 1.38 // G1 pre/post barriers 1.39 @@ -3471,7 +3476,7 @@ 1.40 Node* val, 1.41 const TypeOopPtr* val_type, 1.42 BasicType bt) { 1.43 - IdealKit ideal(gvn(), control(), merged_memory(), true); 1.44 + IdealKit ideal(this, true); 1.45 1.46 Node* tls = __ thread(); // ThreadLocalStorage 1.47 1.48 @@ -3548,7 +3553,7 @@ 1.49 } __ end_if(); // (!marking) 1.50 1.51 // Final sync IdealKit and GraphKit. 1.52 - sync_kit(ideal); 1.53 + final_sync(ideal); 1.54 } 1.55 1.56 // 1.57 @@ -3614,7 +3619,7 @@ 1.58 // (Else it's an array (or unknown), and we want more precise card marks.) 1.59 assert(adr != NULL, ""); 1.60 1.61 - IdealKit ideal(gvn(), control(), merged_memory(), true); 1.62 + IdealKit ideal(this, true); 1.63 1.64 Node* tls = __ thread(); // ThreadLocalStorage 1.65 1.66 @@ -3688,6 +3693,6 @@ 1.67 } 1.68 1.69 // Final sync IdealKit and GraphKit. 1.70 - sync_kit(ideal); 1.71 + final_sync(ideal); 1.72 } 1.73 #undef __