hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
changeset 11961 0abd4cd26e5a
parent 11785 10f778832544
child 12739 09f26b73ae66
equal deleted inserted replaced
11960:57898a1b4b44 11961:0abd4cd26e5a
   708     __ ret(0);
   708     __ ret(0);
   709 
   709 
   710     return start;
   710     return start;
   711   }
   711   }
   712 
   712 
       
   713   // Support for intptr_t get_previous_sp()
       
   714   //
       
   715   // This routine is used to find the previous stack pointer for the
       
   716   // caller.
       
   717   address generate_get_previous_sp() {
       
   718     StubCodeMark mark(this, "StubRoutines", "get_previous_sp");
       
   719     address start = __ pc();
       
   720 
       
   721     __ movptr(rax, rsp);
       
   722     __ addptr(rax, 8); // return address is at the top of the stack.
       
   723     __ ret(0);
       
   724 
       
   725     return start;
       
   726   }
       
   727 
   713   //----------------------------------------------------------------------------------------------------
   728   //----------------------------------------------------------------------------------------------------
   714   // Support for void verify_mxcsr()
   729   // Support for void verify_mxcsr()
   715   //
   730   //
   716   // This routine is used with -Xcheck:jni to verify that native
   731   // This routine is used with -Xcheck:jni to verify that native
   717   // JNI code does not return to Java code without restoring the
   732   // JNI code does not return to Java code without restoring the
  3058     StubRoutines::_handler_for_unsafe_access_entry =
  3073     StubRoutines::_handler_for_unsafe_access_entry =
  3059       generate_handler_for_unsafe_access();
  3074       generate_handler_for_unsafe_access();
  3060 
  3075 
  3061     // platform dependent
  3076     // platform dependent
  3062     StubRoutines::x86::_get_previous_fp_entry = generate_get_previous_fp();
  3077     StubRoutines::x86::_get_previous_fp_entry = generate_get_previous_fp();
       
  3078     StubRoutines::x86::_get_previous_sp_entry = generate_get_previous_sp();
  3063 
  3079 
  3064     StubRoutines::x86::_verify_mxcsr_entry    = generate_verify_mxcsr();
  3080     StubRoutines::x86::_verify_mxcsr_entry    = generate_verify_mxcsr();
  3065 
  3081 
  3066     // Build this early so it's available for the interpreter.  Stub
  3082     // Build this early so it's available for the interpreter.  Stub
  3067     // expects the required and actual types as register arguments in
  3083     // expects the required and actual types as register arguments in