Mercurial > hg > truffle
comparison src/share/vm/utilities/vmError.hpp @ 10161:746b070f5022
8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
author | ccheung |
---|---|
date | Tue, 30 Apr 2013 11:56:52 -0700 |
parents | b9a9ed0f8eeb |
children | 068b406e307f |
comparison
equal
deleted
inserted
replaced
10160:ed5a590835a4 | 10161:746b070f5022 |
---|---|
32 | 32 |
33 class VMError : public StackObj { | 33 class VMError : public StackObj { |
34 friend class VM_ReportJavaOutOfMemory; | 34 friend class VM_ReportJavaOutOfMemory; |
35 friend class Decoder; | 35 friend class Decoder; |
36 | 36 |
37 enum ErrorType { | |
38 internal_error = 0xe0000000, | |
39 oom_error = 0xe0000001 | |
40 }; | |
41 int _id; // Solaris/Linux signals: 0 - SIGRTMAX | 37 int _id; // Solaris/Linux signals: 0 - SIGRTMAX |
42 // Windows exceptions: 0xCxxxxxxx system errors | 38 // Windows exceptions: 0xCxxxxxxx system errors |
43 // 0x8xxxxxxx system warnings | 39 // 0x8xxxxxxx system warnings |
44 | 40 |
45 const char * _message; | 41 const char * _message; |
94 char* buf, int buflen, bool verbose = false); | 90 char* buf, int buflen, bool verbose = false); |
95 | 91 |
96 // accessor | 92 // accessor |
97 const char* message() const { return _message; } | 93 const char* message() const { return _message; } |
98 const char* detail_msg() const { return _detail_msg; } | 94 const char* detail_msg() const { return _detail_msg; } |
99 bool should_report_bug(unsigned int id) { return id != oom_error; } | 95 bool should_report_bug(unsigned int id) { |
96 return (id != OOM_MALLOC_ERROR) && (id != OOM_MMAP_ERROR); | |
97 } | |
100 | 98 |
101 public: | 99 public: |
100 | |
102 // Constructor for crashes | 101 // Constructor for crashes |
103 VMError(Thread* thread, unsigned int sig, address pc, void* siginfo, | 102 VMError(Thread* thread, unsigned int sig, address pc, void* siginfo, |
104 void* context); | 103 void* context); |
105 // Constructor for VM internal errors | 104 // Constructor for VM internal errors |
106 VMError(Thread* thread, const char* filename, int lineno, | 105 VMError(Thread* thread, const char* filename, int lineno, |
107 const char* message, const char * detail_msg); | 106 const char* message, const char * detail_msg); |
108 | 107 |
109 // Constructor for VM OOM errors | 108 // Constructor for VM OOM errors |
110 VMError(Thread* thread, const char* filename, int lineno, size_t size, | 109 VMError(Thread* thread, const char* filename, int lineno, size_t size, |
111 const char* message); | 110 VMErrorType vm_err_type, const char* message); |
112 // Constructor for non-fatal errors | 111 // Constructor for non-fatal errors |
113 VMError(const char* message); | 112 VMError(const char* message); |
114 | 113 |
115 // return a string to describe the error | 114 // return a string to describe the error |
116 char *error_string(char* buf, int buflen); | 115 char *error_string(char* buf, int buflen); |