hotspot/src/share/vm/runtime/sharedRuntime.cpp
changeset 38209 b2a58604e046
parent 38190 ff9ac612c723
child 38259 b495d1cfe673
equal deleted inserted replaced
38208:ff63d43b0480 38209:b2a58604e046
  1760 #endif
  1760 #endif
  1761 
  1761 
  1762   return callee_method;
  1762   return callee_method;
  1763 }
  1763 }
  1764 
  1764 
       
  1765 address SharedRuntime::handle_unsafe_access(JavaThread* thread, address next_pc) {
       
  1766   // The faulting unsafe accesses should be changed to throw the error
       
  1767   // synchronously instead. Meanwhile the faulting instruction will be
       
  1768   // skipped over (effectively turning it into a no-op) and an
       
  1769   // asynchronous exception will be raised which the thread will
       
  1770   // handle at a later point. If the instruction is a load it will
       
  1771   // return garbage.
       
  1772 
       
  1773   // Request an async exception.
       
  1774   thread->set_pending_unsafe_access_error();
       
  1775 
       
  1776   // Return address of next instruction to execute.
       
  1777   return next_pc;
       
  1778 }
       
  1779 
  1765 #ifdef ASSERT
  1780 #ifdef ASSERT
  1766 void SharedRuntime::check_member_name_argument_is_last_argument(const methodHandle& method,
  1781 void SharedRuntime::check_member_name_argument_is_last_argument(const methodHandle& method,
  1767                                                                 const BasicType* sig_bt,
  1782                                                                 const BasicType* sig_bt,
  1768                                                                 const VMRegPair* regs) {
  1783                                                                 const VMRegPair* regs) {
  1769   ResourceMark rm;
  1784   ResourceMark rm;