< prev index next >
src/hotspot/share/utilities/exceptions.hpp
Print this page
@@ -235,15 +235,16 @@
// The THROW... macros should be used to throw an exception. They require a THREAD variable to be
// visible within the scope containing the THROW. Usually this is achieved by declaring the function
// with a TRAPS argument.
-#ifdef THIS_FILE
-#define THREAD_AND_LOCATION THREAD, THIS_FILE, __LINE__
-#else
-#define THREAD_AND_LOCATION THREAD, __FILE__, __LINE__
-#endif
+// Extracts just the filename from a file path
+inline const char* _simple_basename(const char* s) {
+ const char* result = strrchr(s, '/');
+ return (result == NULL) ? s : (result + 1);
+}
+#define THREAD_AND_LOCATION THREAD, _simple_basename(__FILE__), __LINE__
#define THROW_OOP(e) \
{ Exceptions::_throw_oop(THREAD_AND_LOCATION, e); return; }
#define THROW_HANDLE(e) \
< prev index next >