equal
deleted
inserted
replaced
30 class Decoder; |
30 class Decoder; |
31 class frame; |
31 class frame; |
32 class VM_ReportJavaOutOfMemory; |
32 class VM_ReportJavaOutOfMemory; |
33 |
33 |
34 class VMError : public AllStatic { |
34 class VMError : public AllStatic { |
35 friend class VM_ReportJavaOutOfMemory; |
|
36 friend class Decoder; |
|
37 friend class VMStructs; |
35 friend class VMStructs; |
38 |
36 |
39 static int _id; // Solaris/Linux signals: 0 - SIGRTMAX |
37 static int _id; // Solaris/Linux signals: 0 - SIGRTMAX |
40 // Windows exceptions: 0xCxxxxxxx system errors |
38 // Windows exceptions: 0xCxxxxxxx system errors |
41 // 0x8xxxxxxx system warnings |
39 // 0x8xxxxxxx system warnings |
63 static int _current_step; |
61 static int _current_step; |
64 static const char* _current_step_info; |
62 static const char* _current_step_info; |
65 |
63 |
66 // Thread id of the first error. We must be able to handle native thread, |
64 // Thread id of the first error. We must be able to handle native thread, |
67 // so use thread id instead of Thread* to identify thread. |
65 // so use thread id instead of Thread* to identify thread. |
68 static volatile intptr_t first_error_tid; |
66 static volatile intptr_t _first_error_tid; |
69 |
67 |
70 // Core dump status, false if we have been unable to write a core/minidump for some reason |
68 // Core dump status, false if we have been unable to write a core/minidump for some reason |
71 static bool coredump_status; |
69 static bool coredump_status; |
72 |
70 |
73 // When coredump_status is set to true this will contain the name/path to the core/minidump, |
71 // When coredump_status is set to true this will contain the name/path to the core/minidump, |
175 // returns original handler for signal, if it was resetted, or NULL if |
173 // returns original handler for signal, if it was resetted, or NULL if |
176 // signal was not changed by error reporter |
174 // signal was not changed by error reporter |
177 static address get_resetted_sighandler(int sig); |
175 static address get_resetted_sighandler(int sig); |
178 |
176 |
179 // check to see if fatal error reporting is in progress |
177 // check to see if fatal error reporting is in progress |
180 static bool fatal_error_in_progress() { return first_error_tid != -1; } |
178 static bool fatal_error_in_progress() { return _first_error_tid != -1; } |
181 |
179 |
182 static intptr_t get_first_error_tid() { return first_error_tid; } |
180 static intptr_t get_first_error_tid() { return _first_error_tid; } |
183 |
181 |
184 // Called by the WatcherThread to check if error reporting has timed-out. |
182 // Called by the WatcherThread to check if error reporting has timed-out. |
185 // Returns true if error reporting has not completed within the ErrorLogTimeout limit. |
183 // Returns true if error reporting has not completed within the ErrorLogTimeout limit. |
186 static bool check_timeout(); |
184 static bool check_timeout(); |
187 |
185 |