RFR(XS): 8181377: Capture underlying type for unsafe/unaligned pointers in ClassFileParser
David Holmes
david.holmes at oracle.com
Thu Jun 1 01:58:01 UTC 2017
Hi Mikael,
Looks fine.
Thanks,
David
On 1/06/2017 7:48 AM, Mikael Vidstedt wrote:
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8181377 <https://bugs.openjdk.java.net/browse/JDK-8181377>
> Webrev: http://cr.openjdk.java.net/~mikael/webrevs/8181377/webrev.00/hotspot/webrev/ <http://cr.openjdk.java.net/~mikael/webrevs/8181377/webrev.00/hotspot/webrev/>
>
> Copied from the issue description:
>
> As part of JDK-8180032 I fixed a problem where ClassFileParser passed around potentially unaligned pointers to various class file data structures, and in some cases dereferenced those unaligned pointers which is not valid in C++. As part of the fix I chose to switch from using typed pointers (like u2*) in favor of void*, to signal that the pointer is not (necessarily) possible to dereference directly. However, by switching to void* the information about the underlying type (u2) is lost, which is unfortunate. The information about the type should be maintained in some way.
>
>
> I’ve been playing around with a more generic representation of “unsafe” pointers, but I think it’s a slightly bigger project and meanwhile I don’t want to “lose" the type information, so the suggested change at least addresses the “regression” in information.
>
> Cheers,
> Mikael
>
More information about the hotspot-runtime-dev
mailing list