# HG changeset patch # User Lukas Stadler # Date 1322829060 -3600 # Node ID a5972715825935722bb07e63f768958c8f614e15 # Parent 6917cd12e8f8acc840009f8fef9002a21d754d89 hide HotSpotMethodResolvedImpl.javaMirror field in debuggers diff -r 6917cd12e8f8 -r a59727158259 src/share/vm/graal/graalJavaAccess.cpp --- a/src/share/vm/graal/graalJavaAccess.cpp Thu Dec 01 15:04:28 2011 +0100 +++ b/src/share/vm/graal/graalJavaAccess.cpp Fri Dec 02 13:31:00 2011 +0100 @@ -28,7 +28,7 @@ // This function is similar to javaClasses.cpp, it computes the field offset of a (static or instance) field. // It looks up the name and signature symbols without creating new ones, all the symbols of these classes need to be already loaded. -static void compute_offset(int &dest_offset, klassOop klass_oop, const char* name, const char* signature, bool static_field) { +void compute_offset(int &dest_offset, klassOop klass_oop, const char* name, const char* signature, bool static_field) { Symbol* name_symbol = SymbolTable::probe(name, (int)strlen(name)); Symbol* signature_symbol = SymbolTable::probe(signature, (int)strlen(signature)); #ifdef DEBUG diff -r 6917cd12e8f8 -r a59727158259 src/share/vm/graal/graalJavaAccess.hpp --- a/src/share/vm/graal/graalJavaAccess.hpp Thu Dec 01 15:04:28 2011 +0100 +++ b/src/share/vm/graal/graalJavaAccess.hpp Fri Dec 02 13:31:00 2011 +0100 @@ -285,4 +285,4 @@ #undef OOP_FIELD #undef STATIC_OOP_FIELD - +void compute_offset(int &dest_offset, klassOop klass_oop, const char* name, const char* signature, bool static_field); diff -r 6917cd12e8f8 -r a59727158259 src/share/vm/runtime/reflectionUtils.cpp --- a/src/share/vm/runtime/reflectionUtils.cpp Thu Dec 01 15:04:28 2011 +0100 +++ b/src/share/vm/runtime/reflectionUtils.cpp Fri Dec 02 13:31:00 2011 +0100 @@ -26,6 +26,9 @@ #include "classfile/javaClasses.hpp" #include "memory/universe.inline.hpp" #include "runtime/reflectionUtils.hpp" +#ifdef GRAAL +#include "graal/graalJavaAccess.hpp" +#endif KlassStream::KlassStream(instanceKlassHandle klass, bool local_only, bool classes_only) { _klass = klass; @@ -75,6 +78,12 @@ offset = sun_reflect_UnsafeStaticFieldAccessorImpl::base_offset(); _filtered_fields->append(new FilteredField(SystemDictionary::reflect_UnsafeStaticFieldAccessorImpl_klass(), offset)); } +#ifdef GRAAL + if (UseGraal) { + compute_offset(offset, SystemDictionary::HotSpotMethodResolved_klass(), "javaMirror", "Ljava/lang/Object;", false); + _filtered_fields->append(new FilteredField(SystemDictionary::HotSpotMethodResolved_klass(), offset)); + } +#endif } int FilteredFieldStream::field_count() {