hotspot/src/cpu/s390/vm/stubGenerator_s390.cpp
changeset 46279 9b0c98f422e9
parent 42897 57e7b1c75d17
child 46289 1904e7ec236e
equal deleted inserted replaced
46278:6db7a35e08ae 46279:9b0c98f422e9
   621 #define __ _masm->
   621 #define __ _masm->
   622 #else
   622 #else
   623 #define __ (Verbose ? (_masm->block_comment(FILE_AND_LINE),_masm):_masm)->
   623 #define __ (Verbose ? (_masm->block_comment(FILE_AND_LINE),_masm):_masm)->
   624 #endif
   624 #endif
   625 
   625 
   626   //----------------------------------------------------------------------
       
   627   // The following routine generates a subroutine to throw an asynchronous
       
   628   // UnknownError when an unsafe access gets a fault that could not be
       
   629   // reasonably prevented by the programmer. (Example: SIGBUS/OBJERR.)
       
   630   //
       
   631   // Arguments:
       
   632   //   trapping PC: ??
       
   633   //
       
   634   // Results:
       
   635   //   Posts an asynchronous exception, skips the trapping instruction.
       
   636   //
       
   637   address generate_handler_for_unsafe_access() {
       
   638     StubCodeMark mark(this, "StubRoutines", "handler_for_unsafe_access");
       
   639     {
       
   640       address start = __ pc();
       
   641       __ unimplemented("StubRoutines::handler_for_unsafe_access", 86);
       
   642       return start;
       
   643     }
       
   644   }
       
   645 
       
   646   // Support for uint StubRoutine::zarch::partial_subtype_check(Klass
   626   // Support for uint StubRoutine::zarch::partial_subtype_check(Klass
   647   // sub, Klass super);
   627   // sub, Klass super);
   648   //
   628   //
   649   // Arguments:
   629   // Arguments:
   650   //   ret  : Z_RET, returned
   630   //   ret  : Z_RET, returned
  2460     // These entry points require SharedInfo::stack0 to be set up in non-core builds.
  2440     // These entry points require SharedInfo::stack0 to be set up in non-core builds.
  2461     StubRoutines::_throw_AbstractMethodError_entry         = generate_throw_exception("AbstractMethodError throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError),  false);
  2441     StubRoutines::_throw_AbstractMethodError_entry         = generate_throw_exception("AbstractMethodError throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError),  false);
  2462     StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError),  false);
  2442     StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError),  false);
  2463     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);
  2443     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);
  2464 
  2444 
  2465     StubRoutines::zarch::_handler_for_unsafe_access_entry  =  generate_handler_for_unsafe_access();
       
  2466 
       
  2467     // Support for verify_oop (must happen after universe_init).
  2445     // Support for verify_oop (must happen after universe_init).
  2468     StubRoutines::_verify_oop_subroutine_entry             = generate_verify_oop_subroutine();
  2446     StubRoutines::_verify_oop_subroutine_entry             = generate_verify_oop_subroutine();
  2469 
  2447 
  2470     // Arraycopy stubs used by compilers.
  2448     // Arraycopy stubs used by compilers.
  2471     generate_arraycopy_stubs();
  2449     generate_arraycopy_stubs();