hotspot/src/share/vm/runtime/os.hpp
changeset 18943 7d0ef675e808
parent 18683 a6418e038255
child 18945 1225c36dacd3
equal deleted inserted replaced
18942:705506c1bf49 18943:7d0ef675e808
    30 #include "runtime/extendedPC.hpp"
    30 #include "runtime/extendedPC.hpp"
    31 #include "runtime/handles.hpp"
    31 #include "runtime/handles.hpp"
    32 #include "utilities/top.hpp"
    32 #include "utilities/top.hpp"
    33 #ifdef TARGET_OS_FAMILY_linux
    33 #ifdef TARGET_OS_FAMILY_linux
    34 # include "jvm_linux.h"
    34 # include "jvm_linux.h"
       
    35 # include <setjmp.h>
    35 #endif
    36 #endif
    36 #ifdef TARGET_OS_FAMILY_solaris
    37 #ifdef TARGET_OS_FAMILY_solaris
    37 # include "jvm_solaris.h"
    38 # include "jvm_solaris.h"
       
    39 # include <setjmp.h>
    38 #endif
    40 #endif
    39 #ifdef TARGET_OS_FAMILY_windows
    41 #ifdef TARGET_OS_FAMILY_windows
    40 # include "jvm_windows.h"
    42 # include "jvm_windows.h"
    41 #endif
    43 #endif
    42 #ifdef TARGET_OS_FAMILY_bsd
    44 #ifdef TARGET_OS_FAMILY_bsd
    43 # include "jvm_bsd.h"
    45 # include "jvm_bsd.h"
       
    46 # include <setjmp.h>
    44 #endif
    47 #endif
    45 
    48 
    46 // os defines the interface to operating system; this includes traditional
    49 // os defines the interface to operating system; this includes traditional
    47 // OS services (time, I/O) as well as other functionality with system-
    50 // OS services (time, I/O) as well as other functionality with system-
    48 // dependent code.
    51 // dependent code.
   728 
   731 
   729   // Extensions
   732   // Extensions
   730 #include "runtime/os_ext.hpp"
   733 #include "runtime/os_ext.hpp"
   731 
   734 
   732  public:
   735  public:
       
   736   class CrashProtectionCallback : public StackObj {
       
   737   public:
       
   738     virtual void call() = 0;
       
   739   };
   733 
   740 
   734   // Platform dependent stuff
   741   // Platform dependent stuff
   735 #ifdef TARGET_OS_FAMILY_linux
   742 #ifdef TARGET_OS_FAMILY_linux
   736 # include "os_linux.hpp"
   743 # include "os_linux.hpp"
   737 # include "os_posix.hpp"
   744 # include "os_posix.hpp"
   906                                 int home_len,
   913                                 int home_len,
   907                                 char fileSep,
   914                                 char fileSep,
   908                                 char pathSep);
   915                                 char pathSep);
   909   static bool set_boot_path(char fileSep, char pathSep);
   916   static bool set_boot_path(char fileSep, char pathSep);
   910   static char** split_path(const char* path, int* n);
   917   static char** split_path(const char* path, int* n);
       
   918 
   911 };
   919 };
   912 
   920 
   913 // Note that "PAUSE" is almost always used with synchronization
   921 // Note that "PAUSE" is almost always used with synchronization
   914 // so arguably we should provide Atomic::SpinPause() instead
   922 // so arguably we should provide Atomic::SpinPause() instead
   915 // of the global SpinPause() with C linkage.
   923 // of the global SpinPause() with C linkage.