RFR (T) 8250519: [REDO] Move mirror oops from Universe into OopStorage
Daniel D. Daugherty
daniel.daugherty at oracle.com
Fri Jul 24 21:37:25 UTC 2020
On 7/24/20 5:07 PM, coleen.phillimore at oracle.com wrote:
> Summary: The original patch but add a null pointer check so an
> OopHandle is not created if a NULL is read from the archive.
>
> If a NULL is read from the archive, we shouldn't create an OopHandle
> for it because one will be created in initialize_basic_type_mirrors.
> The assert added in the previous patch I pushed detected that.
>
> incremental change to original change:
> http://cr.openjdk.java.net/~coleenp/2020/8250519.01.incr/webrev
> full webrev at http://cr.openjdk.java.net/~coleenp/2020/8250519.01/webrev
>
> Retested with tier1-3.
>
> Thanks,
> Coleen
Okay. So I compared this patch:
http://cr.openjdk.java.net/~coleenp/2020/8249938.02/webrev/open.patch
with this patch:
http://cr.openjdk.java.net/~coleenp/2020/8250519.01/webrev/open.patch
And in addition to the change described above, there are two changes
in the original patch that are not in the new patch:
--- old/src/hotspot/share/oops/oopHandle.hpp 2020-07-23
21:40:56.177635044 -0400
+++ new/src/hotspot/share/oops/oopHandle.hpp 2020-07-23
21:40:55.717623090 -0400
@@ -52,6 +52,8 @@
inline void release(OopStorage* storage);
+ inline void replace(oop obj);
+
// Used only for removing handle.
oop* ptr_raw() const { return _obj; }
};
--- old/src/hotspot/share/oops/oopHandle.inline.hpp 2020-07-23
21:40:56.721649181 -0400
+++ new/src/hotspot/share/oops/oopHandle.inline.hpp 2020-07-23
21:40:56.257637123 -0400
@@ -54,4 +54,10 @@
}
}
+inline void OopHandle::replace(oop obj) {
+ oop* ptr = ptr_raw();
+ assert(ptr != NULL, "should not use replace");
+ NativeAccess<>::oop_store(ptr, obj);
+}
+
#endif // SHARE_OOPS_OOPHANDLE_INLINE_HPP
So it looks like you are removing this OopHandle::replace() function
also. Is that intentional?
Dan
More information about the hotspot-runtime-dev
mailing list