< prev index next >

src/hotspot/share/oops/instanceKlass.cpp

Print this page

        

@@ -50,10 +50,11 @@
 #include "memory/metadataFactory.hpp"
 #include "memory/metaspaceClosure.hpp"
 #include "memory/metaspaceShared.hpp"
 #include "memory/oopFactory.hpp"
 #include "memory/resourceArea.hpp"
+#include "oops/access.inline.hpp"
 #include "oops/fieldStreams.hpp"
 #include "oops/instanceClassLoaderKlass.hpp"
 #include "oops/instanceKlass.inline.hpp"
 #include "oops/instanceMirrorKlass.hpp"
 #include "oops/instanceOop.hpp"

@@ -2258,10 +2259,14 @@
 address InstanceKlass::static_field_addr(int offset) {
   assert(offset >= InstanceMirrorKlass::offset_of_static_fields(), "has already been adjusted");
   return (address)(offset + cast_from_oop<intptr_t>(java_mirror()));
 }
 
+oop InstanceKlass::static_oop_field(int offset) {
+  assert(offset >= InstanceMirrorKlass::offset_of_static_fields(), "has already been adjusted");
+  return HeapAccess<>::oop_load_at(java_mirror(), offset);
+}
 
 const char* InstanceKlass::signature_name() const {
   int hash_len = 0;
   char hash_buf[40];
 
< prev index next >