changeset 18040:eaa4074a7e39 jdk8u20-b26

Merge
author coffeys
date Wed, 30 Jul 2014 03:51:43 -0700
parents deecfa50d5f2 (diff) c2f02c05a99e (current diff)
children 52b4284cb496 f06c7b654d63 e03f3a32b6a6
files .hgtags
diffstat 3 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Wed Jul 30 03:42:23 2014 -0700
+++ b/.hgtags	Wed Jul 30 03:51:43 2014 -0700
@@ -498,3 +498,5 @@
 7c56530b11496459e66cb9ea933035002311672c hs25.20-b22
 f09d1f6a401e25a54dad44bb7bea482e47558af5 jdk8u20-b23
 42ddd0bbcb6630fe463ec9bc1893c838d5edff1b jdk8u20-b24
+00cf2b6f51b9560b01030e8f4c28c466f0b21fe3 hs25.20-b23
+19408d5fd31c25ce60c43dd33e92b96e8df4a4ea jdk8u20-b25
--- a/make/hotspot_version	Wed Jul 30 03:42:23 2014 -0700
+++ b/make/hotspot_version	Wed Jul 30 03:51:43 2014 -0700
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=25
 HS_MINOR_VER=20
-HS_BUILD_NUMBER=22
+HS_BUILD_NUMBER=23
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
--- a/src/share/vm/ci/ciField.cpp	Wed Jul 30 03:42:23 2014 -0700
+++ b/src/share/vm/ci/ciField.cpp	Wed Jul 30 03:51:43 2014 -0700
@@ -138,6 +138,17 @@
     return;
   }
 
+  // Access check based on declared_holder. canonical_holder should not be used
+  // to check access because it can erroneously succeed. If this check fails,
+  // propagate the declared holder to will_link() which in turn will bail out
+  // compilation for this field access.
+  if (!Reflection::verify_field_access(klass->get_Klass(), declared_holder->get_Klass(), canonical_holder, field_desc.access_flags(), true)) {
+    _holder = declared_holder;
+    _offset = -1;
+    _is_constant = false;
+    return;
+  }
+
   assert(canonical_holder == field_desc.field_holder(), "just checking");
   initialize_from(&field_desc);
 }