Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 344:6aae2f9d0294
Merge
author | ysr |
---|---|
date | Thu, 12 Jun 2008 13:50:55 -0700 |
parents | 37f87013dfd8 1f809e010142 |
children | 1ee8caae33af |
comparison
equal
deleted
inserted
replaced
342:37f87013dfd8 | 344:6aae2f9d0294 |
---|---|
2554 | 2554 |
2555 int i=0; | 2555 int i=0; |
2556 int total_strings = 0; | 2556 int total_strings = 0; |
2557 int first_arg_to_pass = 0; | 2557 int first_arg_to_pass = 0; |
2558 int total_c_args = 0; | 2558 int total_c_args = 0; |
2559 int box_offset = java_lang_boxing_object::value_offset_in_bytes(); | |
2560 | 2559 |
2561 // Skip the receiver as dtrace doesn't want to see it | 2560 // Skip the receiver as dtrace doesn't want to see it |
2562 if( !method->is_static() ) { | 2561 if( !method->is_static() ) { |
2563 in_sig_bt[i++] = T_OBJECT; | 2562 in_sig_bt[i++] = T_OBJECT; |
2564 first_arg_to_pass = 1; | 2563 first_arg_to_pass = 1; |
2719 } | 2718 } |
2720 | 2719 |
2721 #endif /* ASSERT */ | 2720 #endif /* ASSERT */ |
2722 | 2721 |
2723 VMRegPair zero; | 2722 VMRegPair zero; |
2724 zero.set2(G0->as_VMReg()); | 2723 const Register g0 = G0; // without this we get a compiler warning (why??) |
2724 zero.set2(g0->as_VMReg()); | |
2725 | 2725 |
2726 int c_arg, j_arg; | 2726 int c_arg, j_arg; |
2727 | 2727 |
2728 Register conversion_off = noreg; | 2728 Register conversion_off = noreg; |
2729 | 2729 |
2776 __ mov(G0, tmp->successor()); | 2776 __ mov(G0, tmp->successor()); |
2777 } | 2777 } |
2778 __ br_null(in_reg, true, Assembler::pn, skipUnbox); | 2778 __ br_null(in_reg, true, Assembler::pn, skipUnbox); |
2779 __ delayed()->mov(G0, tmp); | 2779 __ delayed()->mov(G0, tmp); |
2780 | 2780 |
2781 switch (out_sig_bt[c_arg]) { | 2781 BasicType bt = out_sig_bt[c_arg]; |
2782 int box_offset = java_lang_boxing_object::value_offset_in_bytes(bt); | |
2783 switch (bt) { | |
2782 case T_BYTE: | 2784 case T_BYTE: |
2783 __ ldub(in_reg, box_offset, tmp); break; | 2785 __ ldub(in_reg, box_offset, tmp); break; |
2784 case T_SHORT: | 2786 case T_SHORT: |
2785 __ lduh(in_reg, box_offset, tmp); break; | 2787 __ lduh(in_reg, box_offset, tmp); break; |
2786 case T_INT: | 2788 case T_INT: |