1.1 --- a/src/share/vm/opto/library_call.cpp Fri Apr 01 21:45:33 2011 -0700 1.2 +++ b/src/share/vm/opto/library_call.cpp Sat Apr 02 09:49:27 2011 -0700 1.3 @@ -1120,7 +1120,7 @@ 1.4 const TypeAry* target_array_type = TypeAry::make(TypeInt::CHAR, TypeInt::make(0, target_length, Type::WidenMin)); 1.5 const TypeAryPtr* target_type = TypeAryPtr::make(TypePtr::BotPTR, target_array_type, target_array->klass(), true, Type::OffsetBot); 1.6 1.7 - IdealKit kit(gvn(), control(), merged_memory(), false, true); 1.8 + IdealKit kit(this, false, true); 1.9 #define __ kit. 1.10 Node* zero = __ ConI(0); 1.11 Node* one = __ ConI(1); 1.12 @@ -1171,7 +1171,7 @@ 1.13 __ bind(return_); 1.14 1.15 // Final sync IdealKit and GraphKit. 1.16 - sync_kit(kit); 1.17 + final_sync(kit); 1.18 Node* result = __ value(rtn); 1.19 #undef __ 1.20 C->set_has_loops(true); 1.21 @@ -2318,22 +2318,20 @@ 1.22 // of it. So we need to emit code to conditionally do the proper type of 1.23 // store. 1.24 1.25 - IdealKit ideal(gvn(), control(), merged_memory()); 1.26 + IdealKit ideal(this); 1.27 #define __ ideal. 1.28 // QQQ who knows what probability is here?? 1.29 __ if_then(heap_base_oop, BoolTest::ne, null(), PROB_UNLIKELY(0.999)); { 1.30 // Sync IdealKit and graphKit. 1.31 - set_all_memory( __ merged_memory()); 1.32 - set_control(__ ctrl()); 1.33 + sync_kit(ideal); 1.34 Node* st = store_oop_to_unknown(control(), heap_base_oop, adr, adr_type, val, type); 1.35 // Update IdealKit memory. 1.36 - __ set_all_memory(merged_memory()); 1.37 - __ set_ctrl(control()); 1.38 + __ sync_kit(this); 1.39 } __ else_(); { 1.40 __ store(__ ctrl(), adr, val, type, alias_type->index(), is_volatile); 1.41 } __ end_if(); 1.42 // Final sync IdealKit and GraphKit. 1.43 - sync_kit(ideal); 1.44 + final_sync(ideal); 1.45 #undef __ 1.46 } 1.47 }