changeset 24112:c0b9eb2b6715

missing checks in HotSpotMemoryAccessProviderImpl can cause VM assertions to fail - part 2 (JDK-8177673)
author Doug Simon <doug.simon@oracle.com>
date Thu, 30 Mar 2017 23:54:54 +0200
parents 8abcd8e1285d
children 8cf4cf3f9f2a
files jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java	Thu Mar 30 21:18:43 2017 +0200
+++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java	Thu Mar 30 23:54:54 2017 +0200
@@ -86,6 +86,11 @@
                                     " at offset " + displacement + " in " +
                                     type.toJavaName() + " object");
                 }
+                if (field.getJavaKind() != kind) {
+                    throw new IllegalArgumentException("Unsafe object access: field " + field.format("%H.%n:%T") + " not of expected kind " + kind +
+                                    " at offset " + displacement + " in " +
+                                    type.toJavaName() + " object");
+                }
             }
             return object;
         }