aboutsummaryrefslogtreecommitdiff
path: root/src/hotspot/share/classfile/javaClasses.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hotspot/share/classfile/javaClasses.cpp')
-rw-r--r--src/hotspot/share/classfile/javaClasses.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/hotspot/share/classfile/javaClasses.cpp b/src/hotspot/share/classfile/javaClasses.cpp
index 33a8abad5ef..24ea8ab77f8 100644
--- a/src/hotspot/share/classfile/javaClasses.cpp
+++ b/src/hotspot/share/classfile/javaClasses.cpp
@@ -2077,18 +2077,17 @@ oop java_lang_Throwable::message(oop throwable) {
return throwable->obj_field(_detailMessage_offset);
}
-oop java_lang_Throwable::cause(oop throwable) {
- return throwable->obj_field(_cause_offset);
+const char* java_lang_Throwable::message_as_utf8(oop throwable) {
+ oop msg = java_lang_Throwable::message(throwable);
+ const char* msg_utf8 = nullptr;
+ if (msg != nullptr) {
+ msg_utf8 = java_lang_String::as_utf8_string(msg);
+ }
+ return msg_utf8;
}
-// Return Symbol for detailed_message or null
-Symbol* java_lang_Throwable::detail_message(oop throwable) {
- PreserveExceptionMark pm(Thread::current());
- oop detailed_message = java_lang_Throwable::message(throwable);
- if (detailed_message != nullptr) {
- return java_lang_String::as_symbol(detailed_message);
- }
- return nullptr;
+oop java_lang_Throwable::cause(oop throwable) {
+ return throwable->obj_field(_cause_offset);
}
void java_lang_Throwable::set_message(oop throwable, oop value) {