1.1 --- a/src/share/vm/c1/c1_Canonicalizer.cpp Thu Jun 03 14:20:27 2010 -0700 1.2 +++ b/src/share/vm/c1/c1_Canonicalizer.cpp Fri Jun 04 11:18:04 2010 -0700 1.3 @@ -26,9 +26,11 @@ 1.4 #include "incls/_c1_Canonicalizer.cpp.incl" 1.5 1.6 1.7 -static void do_print_value(Value* vp) { 1.8 - (*vp)->print_line(); 1.9 -} 1.10 +class PrintValueVisitor: public ValueVisitor { 1.11 + void visit(Value* vp) { 1.12 + (*vp)->print_line(); 1.13 + } 1.14 +}; 1.15 1.16 void Canonicalizer::set_canonical(Value x) { 1.17 assert(x != NULL, "value must exist"); 1.18 @@ -37,10 +39,11 @@ 1.19 // in the instructions). 1.20 if (canonical() != x) { 1.21 if (PrintCanonicalization) { 1.22 - canonical()->input_values_do(do_print_value); 1.23 + PrintValueVisitor do_print_value; 1.24 + canonical()->input_values_do(&do_print_value); 1.25 canonical()->print_line(); 1.26 tty->print_cr("canonicalized to:"); 1.27 - x->input_values_do(do_print_value); 1.28 + x->input_values_do(&do_print_value); 1.29 x->print_line(); 1.30 tty->cr(); 1.31 } 1.32 @@ -202,7 +205,7 @@ 1.33 // limit this optimization to current block 1.34 if (value != NULL && in_current_block(conv)) { 1.35 set_canonical(new StoreField(x->obj(), x->offset(), x->field(), value, x->is_static(), 1.36 - x->lock_stack(), x->state_before(), x->is_loaded(), x->is_initialized())); 1.37 + x->lock_stack(), x->state_before(), x->is_loaded(), x->is_initialized())); 1.38 return; 1.39 } 1.40 }