src/cpu/sparc/vm/sharedRuntime_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Wed May 14 20:04:30 2008
--- new/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Wed May 14 20:04:30 2008

*** 2554,2564 **** --- 2554,2563 ---- int i=0; int total_strings = 0; int first_arg_to_pass = 0; int total_c_args = 0; int box_offset = java_lang_boxing_object::value_offset_in_bytes(); // Skip the receiver as dtrace doesn't want to see it if( !method->is_static() ) { in_sig_bt[i++] = T_OBJECT; first_arg_to_pass = 1;
*** 2776,2786 **** --- 2775,2787 ---- __ mov(G0, tmp->successor()); } __ br_null(in_reg, true, Assembler::pn, skipUnbox); __ delayed()->mov(G0, tmp); switch (out_sig_bt[c_arg]) { + BasicType bt = out_sig_bt[c_arg]; + int box_offset = java_lang_boxing_object::value_offset_in_bytes(bt); + switch (bt) { case T_BYTE: __ ldub(in_reg, box_offset, tmp); break; case T_SHORT: __ lduh(in_reg, box_offset, tmp); break; case T_INT:

src/cpu/sparc/vm/sharedRuntime_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File