1.1 --- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Wed May 21 13:46:23 2008 -0700 1.2 +++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Wed May 21 16:31:35 2008 -0700 1.3 @@ -2556,7 +2556,6 @@ 1.4 int total_strings = 0; 1.5 int first_arg_to_pass = 0; 1.6 int total_c_args = 0; 1.7 - int box_offset = java_lang_boxing_object::value_offset_in_bytes(); 1.8 1.9 // Skip the receiver as dtrace doesn't want to see it 1.10 if( !method->is_static() ) { 1.11 @@ -2778,7 +2777,9 @@ 1.12 __ br_null(in_reg, true, Assembler::pn, skipUnbox); 1.13 __ delayed()->mov(G0, tmp); 1.14 1.15 - switch (out_sig_bt[c_arg]) { 1.16 + BasicType bt = out_sig_bt[c_arg]; 1.17 + int box_offset = java_lang_boxing_object::value_offset_in_bytes(bt); 1.18 + switch (bt) { 1.19 case T_BYTE: 1.20 __ ldub(in_reg, box_offset, tmp); break; 1.21 case T_SHORT: