OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_BASE_LOGGING_H_ | 5 #ifndef V8_BASE_LOGGING_H_ |
6 #define V8_BASE_LOGGING_H_ | 6 #define V8_BASE_LOGGING_H_ |
7 | 7 |
8 #include <cstring> | 8 #include <cstring> |
9 #include <sstream> | 9 #include <sstream> |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "src/base/build_config.h" | 12 #include "src/base/build_config.h" |
13 | 13 |
14 extern "C" V8_NORETURN void V8_Fatal(const char* file, int line, | 14 extern "C" V8_NORETURN void V8_Fatal(const char* file, int line, |
15 const char* format, ...); | 15 const char* format, ...); |
16 | 16 |
| 17 extern "C" void V8_RuntimeError(const char* file, int line, |
| 18 const char* message); |
17 | 19 |
18 // The FATAL, UNREACHABLE and UNIMPLEMENTED macros are useful during | 20 // The FATAL, UNREACHABLE and UNIMPLEMENTED macros are useful during |
19 // development, but they should not be relied on in the final product. | 21 // development, but they should not be relied on in the final product. |
20 #ifdef DEBUG | 22 #ifdef DEBUG |
21 #define FATAL(msg) \ | 23 #define FATAL(msg) \ |
22 V8_Fatal(__FILE__, __LINE__, "%s", (msg)) | 24 V8_Fatal(__FILE__, __LINE__, "%s", (msg)) |
23 #define UNIMPLEMENTED() \ | 25 #define UNIMPLEMENTED() \ |
24 V8_Fatal(__FILE__, __LINE__, "unimplemented code") | 26 V8_Fatal(__FILE__, __LINE__, "unimplemented code") |
25 #define UNREACHABLE() \ | 27 #define UNREACHABLE() \ |
26 V8_Fatal(__FILE__, __LINE__, "unreachable code") | 28 V8_Fatal(__FILE__, __LINE__, "unreachable code") |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 #define DCHECK_GT(v1, v2) ((void) 0) | 170 #define DCHECK_GT(v1, v2) ((void) 0) |
169 #define DCHECK_GE(v1, v2) ((void) 0) | 171 #define DCHECK_GE(v1, v2) ((void) 0) |
170 #define DCHECK_LT(v1, v2) ((void) 0) | 172 #define DCHECK_LT(v1, v2) ((void) 0) |
171 #define DCHECK_LE(v1, v2) ((void) 0) | 173 #define DCHECK_LE(v1, v2) ((void) 0) |
172 #define DCHECK_NULL(val) ((void) 0) | 174 #define DCHECK_NULL(val) ((void) 0) |
173 #define DCHECK_NOT_NULL(val) ((void) 0) | 175 #define DCHECK_NOT_NULL(val) ((void) 0) |
174 #define DCHECK_IMPLIES(v1, v2) ((void) 0) | 176 #define DCHECK_IMPLIES(v1, v2) ((void) 0) |
175 #endif | 177 #endif |
176 | 178 |
177 #endif // V8_BASE_LOGGING_H_ | 179 #endif // V8_BASE_LOGGING_H_ |
OLD | NEW |