src/cpu/x86/vm/stubGenerator_x86_32.cpp

changeset 3136
c565834fb592
parent 2978
d83ac25d0304
child 3156
f08d439fab8c
     1.1 --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Fri Sep 09 13:47:11 2011 -0700
     1.2 +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Sat Sep 10 00:11:04 2011 -0700
     1.3 @@ -2187,7 +2187,7 @@
     1.4    // either at call sites or otherwise assume that stack unwinding will be initiated,
     1.5    // so caller saved registers were assumed volatile in the compiler.
     1.6    address generate_throw_exception(const char* name, address runtime_entry,
     1.7 -                                   bool restore_saved_exception_pc, Register arg1 = noreg, Register arg2 = noreg) {
     1.8 +                                   Register arg1 = noreg, Register arg2 = noreg) {
     1.9  
    1.10      int insts_size = 256;
    1.11      int locs_size  = 32;
    1.12 @@ -2204,10 +2204,6 @@
    1.13      // differently than the real call_VM
    1.14      Register java_thread = rbx;
    1.15      __ get_thread(java_thread);
    1.16 -    if (restore_saved_exception_pc) {
    1.17 -      __ movptr(rax, Address(java_thread, in_bytes(JavaThread::saved_exception_pc_offset())));
    1.18 -      __ push(rax);
    1.19 -    }
    1.20  
    1.21      __ enter(); // required for proper stackwalking of RuntimeStub frame
    1.22  
    1.23 @@ -2323,7 +2319,7 @@
    1.24      StubRoutines::_throw_WrongMethodTypeException_entry =
    1.25        generate_throw_exception("WrongMethodTypeException throw_exception",
    1.26                                 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
    1.27 -                               false, rax, rcx);
    1.28 +                               rax, rcx);
    1.29    }
    1.30  
    1.31  
    1.32 @@ -2332,12 +2328,10 @@
    1.33  
    1.34      // These entry points require SharedInfo::stack0 to be set up in non-core builds
    1.35      // and need to be relocatable, so they each fabricate a RuntimeStub internally.
    1.36 -    StubRoutines::_throw_AbstractMethodError_entry         = generate_throw_exception("AbstractMethodError throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError),  false);
    1.37 -    StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError),  false);
    1.38 -    StubRoutines::_throw_ArithmeticException_entry         = generate_throw_exception("ArithmeticException throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_ArithmeticException),  true);
    1.39 -    StubRoutines::_throw_NullPointerException_entry        = generate_throw_exception("NullPointerException throw_exception",         CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException), true);
    1.40 -    StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call), false);
    1.41 -    StubRoutines::_throw_StackOverflowError_entry          = generate_throw_exception("StackOverflowError throw_exception",           CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError),   false);
    1.42 +    StubRoutines::_throw_AbstractMethodError_entry         = generate_throw_exception("AbstractMethodError throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError));
    1.43 +    StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError));
    1.44 +    StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call));
    1.45 +    StubRoutines::_throw_StackOverflowError_entry          = generate_throw_exception("StackOverflowError throw_exception",           CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
    1.46  
    1.47      //------------------------------------------------------------------------------------------------------------------------
    1.48      // entry points that are platform specific

mercurial