src/share/vm/utilities/exceptions.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7089790_full Sdiff src/share/vm/utilities

src/share/vm/utilities/exceptions.cpp

Print this page
rev 2694 : imported patch headers_only


  25 #include "precompiled.hpp"
  26 #include "classfile/systemDictionary.hpp"
  27 #include "classfile/vmSymbols.hpp"
  28 #include "compiler/compileBroker.hpp"
  29 #include "oops/oop.inline.hpp"
  30 #include "runtime/init.hpp"
  31 #include "runtime/java.hpp"
  32 #include "runtime/javaCalls.hpp"
  33 #include "runtime/threadCritical.hpp"
  34 #include "utilities/events.hpp"
  35 #include "utilities/exceptions.hpp"
  36 #ifdef TARGET_OS_FAMILY_linux
  37 # include "thread_linux.inline.hpp"
  38 #endif
  39 #ifdef TARGET_OS_FAMILY_solaris
  40 # include "thread_solaris.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_windows
  43 # include "thread_windows.inline.hpp"
  44 #endif



  45 
  46 
  47 // Implementation of ThreadShadow
  48 void check_ThreadShadow() {
  49   const ByteSize offset1 = byte_offset_of(ThreadShadow, _pending_exception);
  50   const ByteSize offset2 = Thread::pending_exception_offset();
  51   if (offset1 != offset2) fatal("ThreadShadow::_pending_exception is not positioned correctly");
  52 }
  53 
  54 
  55 void ThreadShadow::set_pending_exception(oop exception, const char* file, int line) {
  56   assert(exception != NULL && exception->is_oop(), "invalid exception oop");
  57   _pending_exception = exception;
  58   _exception_file    = file;
  59   _exception_line    = line;
  60 }
  61 
  62 void ThreadShadow::clear_pending_exception() {
  63   if (TraceClearedExceptions) {
  64     if (_pending_exception != NULL) {




  25 #include "precompiled.hpp"
  26 #include "classfile/systemDictionary.hpp"
  27 #include "classfile/vmSymbols.hpp"
  28 #include "compiler/compileBroker.hpp"
  29 #include "oops/oop.inline.hpp"
  30 #include "runtime/init.hpp"
  31 #include "runtime/java.hpp"
  32 #include "runtime/javaCalls.hpp"
  33 #include "runtime/threadCritical.hpp"
  34 #include "utilities/events.hpp"
  35 #include "utilities/exceptions.hpp"
  36 #ifdef TARGET_OS_FAMILY_linux
  37 # include "thread_linux.inline.hpp"
  38 #endif
  39 #ifdef TARGET_OS_FAMILY_solaris
  40 # include "thread_solaris.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_windows
  43 # include "thread_windows.inline.hpp"
  44 #endif
  45 #ifdef TARGET_OS_FAMILY_bsd
  46 # include "thread_bsd.inline.hpp"
  47 #endif
  48 
  49 
  50 // Implementation of ThreadShadow
  51 void check_ThreadShadow() {
  52   const ByteSize offset1 = byte_offset_of(ThreadShadow, _pending_exception);
  53   const ByteSize offset2 = Thread::pending_exception_offset();
  54   if (offset1 != offset2) fatal("ThreadShadow::_pending_exception is not positioned correctly");
  55 }
  56 
  57 
  58 void ThreadShadow::set_pending_exception(oop exception, const char* file, int line) {
  59   assert(exception != NULL && exception->is_oop(), "invalid exception oop");
  60   _pending_exception = exception;
  61   _exception_file    = file;
  62   _exception_line    = line;
  63 }
  64 
  65 void ThreadShadow::clear_pending_exception() {
  66   if (TraceClearedExceptions) {
  67     if (_pending_exception != NULL) {


src/share/vm/utilities/exceptions.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File