src/cpu/sparc/vm/sharedRuntime_sparc.cpp

changeset 1472
0a46d0c5dccb
parent 1442
1ce3281a8e93
child 1622
cf0685d550f1
     1.1 --- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Wed Oct 14 15:03:32 2009 -0700
     1.2 +++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Thu Oct 15 11:47:13 2009 -0700
     1.3 @@ -3213,9 +3213,8 @@
     1.4    Register        Oreturn0           = O0;
     1.5    Register        Oreturn1           = O1;
     1.6    Register        O2UnrollBlock      = O2;
     1.7 -  Register        O3tmp              = O3;
     1.8 -  Register        I5exception_tmp    = I5;
     1.9 -  Register        G4exception_tmp    = G4_scratch;
    1.10 +  Register        L0deopt_mode       = L0;
    1.11 +  Register        G4deopt_mode       = G4_scratch;
    1.12    int             frame_size_words;
    1.13    Address         saved_Freturn0_addr(FP, -sizeof(double) + STACK_BIAS);
    1.14  #if !defined(_LP64) && defined(COMPILER2)
    1.15 @@ -3265,7 +3264,7 @@
    1.16  
    1.17    map = RegisterSaver::save_live_registers(masm, 0, &frame_size_words);
    1.18    __ ba(false, cont);
    1.19 -  __ delayed()->mov(Deoptimization::Unpack_deopt, I5exception_tmp);
    1.20 +  __ delayed()->mov(Deoptimization::Unpack_deopt, L0deopt_mode);
    1.21  
    1.22    int exception_offset = __ offset() - start;
    1.23  
    1.24 @@ -3316,7 +3315,7 @@
    1.25  #endif
    1.26  
    1.27    __ ba(false, cont);
    1.28 -  __ delayed()->mov(Deoptimization::Unpack_exception, I5exception_tmp);;
    1.29 +  __ delayed()->mov(Deoptimization::Unpack_exception, L0deopt_mode);;
    1.30  
    1.31    //
    1.32    // Reexecute entry, similar to c2 uncommon trap
    1.33 @@ -3326,7 +3325,7 @@
    1.34    // No need to update oop_map  as each call to save_live_registers will produce identical oopmap
    1.35    (void) RegisterSaver::save_live_registers(masm, 0, &frame_size_words);
    1.36  
    1.37 -  __ mov(Deoptimization::Unpack_reexecute, I5exception_tmp);
    1.38 +  __ mov(Deoptimization::Unpack_reexecute, L0deopt_mode);
    1.39  
    1.40    __ bind(cont);
    1.41  
    1.42 @@ -3349,14 +3348,14 @@
    1.43    // NOTE: we know that only O0/O1 will be reloaded by restore_result_registers
    1.44    // so this move will survive
    1.45  
    1.46 -  __ mov(I5exception_tmp, G4exception_tmp);
    1.47 +  __ mov(L0deopt_mode, G4deopt_mode);
    1.48  
    1.49    __ mov(O0, O2UnrollBlock->after_save());
    1.50  
    1.51    RegisterSaver::restore_result_registers(masm);
    1.52  
    1.53    Label noException;
    1.54 -  __ cmp(G4exception_tmp, Deoptimization::Unpack_exception);   // Was exception pending?
    1.55 +  __ cmp(G4deopt_mode, Deoptimization::Unpack_exception);   // Was exception pending?
    1.56    __ br(Assembler::notEqual, false, Assembler::pt, noException);
    1.57    __ delayed()->nop();
    1.58  
    1.59 @@ -3390,10 +3389,10 @@
    1.60    }
    1.61  #endif
    1.62    __ set_last_Java_frame(SP, noreg);
    1.63 -  __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames), G2_thread, G4exception_tmp);
    1.64 +  __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames), G2_thread, G4deopt_mode);
    1.65  #else
    1.66    // LP64 uses g4 in set_last_Java_frame
    1.67 -  __ mov(G4exception_tmp, O1);
    1.68 +  __ mov(G4deopt_mode, O1);
    1.69    __ set_last_Java_frame(SP, G0);
    1.70    __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames), G2_thread, O1);
    1.71  #endif
    1.72 @@ -3446,7 +3445,6 @@
    1.73  #endif
    1.74    MacroAssembler* masm               = new MacroAssembler(&buffer);
    1.75    Register        O2UnrollBlock      = O2;
    1.76 -  Register        O3tmp              = O3;
    1.77    Register        O2klass_index      = O2;
    1.78  
    1.79    //

mercurial