changeset 10192:65409bcab2ad jdk8u192-b05

Merge
author aefimov
date Fri, 03 Aug 2018 19:08:52 +0100
parents e37ac4abbcef (current diff) 14c62eae2f8f (diff)
children 8e840a3a79a4 09e0cda9f53d
files .hgtags src/os/aix/vm/os_aix.cpp src/os/bsd/vm/os_bsd.cpp src/os/linux/vm/os_linux.cpp src/os/linux/vm/os_linux.hpp src/os/solaris/vm/os_solaris.cpp src/os/windows/vm/os_windows.cpp src/share/vm/runtime/globals.hpp src/share/vm/runtime/os.hpp src/share/vm/runtime/sharedRuntime.cpp src/share/vm/runtime/thread.cpp
diffstat 3 files changed, 52 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Wed Aug 01 03:31:01 2018 -0700
+++ b/.hgtags	Fri Aug 03 19:08:52 2018 +0100
@@ -1131,6 +1131,13 @@
 39e2895b795aded8b584626fb019d35f12e9d1e7 jdk8u162-b11
 69aec2ca5d905dde1d0f29a89076d02a531808a3 jdk8u162-b12
 caac74fe3cfa9a8c859c28c97d1046a58252af27 jdk8u162-b31
+c9b7abadf150328d2187de05b9e8a9cba2486e47 jdk8u162-b32
+e8041f2ec96eb6a41307732e6cf6ed90901438ae jdk8u162-b33
+bf2e8b1e8e8e6bc1f9b9475de54ba0329a6b24b1 jdk8u162-b34
+9b3f207379cf6ecfb8603640269e31ff4e064294 jdk8u162-b35
+d2ebd6530396b0afc700cd1a8eaf1f7a7f9fce8d jdk8u162-b36
+700ad8745f3fdc5ba3702616fc5ed6a6248dfa78 jdk8u162-b37
+405800ccc4c7b81475b01392f2145cc3675d1f86 jdk8u162-b38
 a17bab9405474602b18cd62e060a09b17d6413ac jdk8u171-b00
 ebfd57cc21e6b7f0c22b17c666b6b28c9340e207 jdk8u171-b01
 1acd7c1b80241def8fac90f70b0df16356adad47 jdk8u171-b02
@@ -1149,6 +1156,8 @@
 653d9e0cd3f4023675c9eece7f0d563287f1d34f jdk8u172-b02
 771d9e1fbe1ae2ec4d5d937ebcbfd18e9c800098 jdk8u172-b03
 efd7a4e211e8fddf52053d4b033d8d307f356bc3 jdk8u172-b04
+5587cde50bbc2aa031aefb47eaa36b041f5e7c4b jdk8u181-b00
+8f3131e04030eb35434a27c1a0866fc3651af6d5 jdk8u191-b00
 4235fb1dceebde1192498ef388a32e56b1ed5a46 jdk8u172-b05
 68b234d5df6f01f3c677a114ecd6878c25f23f3c jdk8u172-b06
 a311a45523b19d59f77e76b0441a2085bb5355c8 jdk8u172-b07
@@ -1159,6 +1168,16 @@
 6e2be123a2e1c7671086c767e79ffe8ad5d4f9ca jdk8u181-b01
 1d0b6fcff115a57ca02081da84589630ba282789 jdk8u181-b02
 1127faef22f14d56cdd6c0c8bded598f492c2611 jdk8u181-b03
+d5a33d109309138a1e9bed43d2a2bda04356dbac jdk8u172-b31
+b62c44a689e4d339b1129bffceee94119c84b1b2 jdk8u172-b32
+e8745ad08d55bb56b2ac5a70ec0a972c38fa6ca2 jdk8u172-b33
+74350ee9c013a39acb6af32049599a26e6dc3911 jdk8u172-b34
+0d1b5f9b3ab040eb9023cde206cd67d4b5a54535 jdk8u172-b35
+1e7855b1ecd3d069bcaaf35259d35f79a7c66987 jdk8u172-b36
+6a9482b43d79e3e017f58a23ec4574dd696e04db jdk8u172-b37
+6e2be123a2e1c7671086c767e79ffe8ad5d4f9ca jdk8u181-b01
+1d0b6fcff115a57ca02081da84589630ba282789 jdk8u181-b02
+1127faef22f14d56cdd6c0c8bded598f492c2611 jdk8u181-b03
 c53e56e8904926f4efdde8a0483109ed3c60c064 jdk8u181-b04
 cea033df30750958ffc999d647ee43587d4a06b2 jdk8u181-b05
 2198f5b865507118b644830293dc9f0ec3b4439e jdk8u181-b06
@@ -1169,6 +1188,10 @@
 e4f39d283b55faf6074308797615298bd1a45a66 jdk8u181-b11
 464ed8cea5d6cdbfacc9be7035297af88f57f708 jdk8u181-b12
 eed8e846c982d7474dd07fc873ba02f83ad1f847 jdk8u181-b13
+21a3fffc43418f4d75c2091bf03478330b8a9a98 jdk8u191-b01
+5aa3d728164a674d08ad847811be6bdd853e9bf8 jdk8u191-b02
+dd79b482625361458b2b34e7d669ee982eee06a4 jdk8u191-b03
+541c205d7fd15ab840f48aaeeaea3f63209d1687 jdk8u191-b04
 c19c5b73704e3d188bedfe52a473b408ca39009f jdk8u182-b00
 0341fa6dbb363ee4dc5dbf5bfc4f820523400a72 jdk8u192-b00
 5792d995ed26eec0417d96a2423446bbcd6951a9 jdk8u192-b01
--- a/src/share/vm/interpreter/linkResolver.cpp	Wed Aug 01 03:31:01 2018 -0700
+++ b/src/share/vm/interpreter/linkResolver.cpp	Fri Aug 03 19:08:52 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -779,37 +779,37 @@
     THROW_MSG(vmSymbols::java_lang_NoSuchFieldError(), field->as_C_string());
   }
 
-  if (!check_access)
-    // Access checking may be turned off when calling from within the VM.
-    return;
+  // Access checking may be turned off when calling from within the VM.
+  if (check_access) {
+
+    // check access
+    check_field_accessability(current_klass, resolved_klass, sel_klass, fd, CHECK);
 
-  // check access
-  check_field_accessability(current_klass, resolved_klass, sel_klass, fd, CHECK);
+    // check for errors
+    if (is_static != fd.is_static()) {
+      ResourceMark rm(THREAD);
+      char msg[200];
+      jio_snprintf(msg, sizeof(msg), "Expected %s field %s.%s", is_static ? "static" : "non-static", resolved_klass()->external_name(), fd.name()->as_C_string());
+      THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), msg);
+    }
 
-  // check for errors
-  if (is_static != fd.is_static()) {
-    ResourceMark rm(THREAD);
-    char msg[200];
-    jio_snprintf(msg, sizeof(msg), "Expected %s field %s.%s", is_static ? "static" : "non-static", resolved_klass()->external_name(), fd.name()->as_C_string());
-    THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), msg);
+    // Final fields can only be accessed from its own class.
+    if (is_put && fd.access_flags().is_final() && sel_klass() != current_klass()) {
+      THROW(vmSymbols::java_lang_IllegalAccessError());
+    }
+
+    // initialize resolved_klass if necessary
+    // note 1: the klass which declared the field must be initialized (i.e, sel_klass)
+    //         according to the newest JVM spec (5.5, p.170) - was bug (gri 7/28/99)
+    //
+    // note 2: we don't want to force initialization if we are just checking
+    //         if the field access is legal; e.g., during compilation
+    if (is_static && initialize_class) {
+      sel_klass->initialize(CHECK);
+    }
   }
 
-  // Final fields can only be accessed from its own class.
-  if (is_put && fd.access_flags().is_final() && sel_klass() != current_klass()) {
-    THROW(vmSymbols::java_lang_IllegalAccessError());
-  }
-
-  // initialize resolved_klass if necessary
-  // note 1: the klass which declared the field must be initialized (i.e, sel_klass)
-  //         according to the newest JVM spec (5.5, p.170) - was bug (gri 7/28/99)
-  //
-  // note 2: we don't want to force initialization if we are just checking
-  //         if the field access is legal; e.g., during compilation
-  if (is_static && initialize_class) {
-    sel_klass->initialize(CHECK);
-  }
-
-  if (sel_klass() != current_klass()) {
+  if (sel_klass() != current_klass() && !current_klass.is_null()) {
     HandleMark hm(THREAD);
     Handle ref_loader (THREAD, InstanceKlass::cast(current_klass())->class_loader());
     Handle sel_loader (THREAD, InstanceKlass::cast(sel_klass())->class_loader());
--- a/test/compiler/loopopts/TestCMovSplitThruPhi.java	Wed Aug 01 03:31:01 2018 -0700
+++ b/test/compiler/loopopts/TestCMovSplitThruPhi.java	Fri Aug 03 19:08:52 2018 +0100
@@ -25,7 +25,7 @@
  * @test
  * @bug 8187822
  * @summary C2 conditonal move optimization might create broken graph
- * @run main/othervm -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestCMovSplitThruPhi::not_inlined -XX:CompileOnly=TestCMovSplitThruPhi::test -XX:-LoopUnswitching TestCMovSplitThruPhi
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestCMovSplitThruPhi::not_inlined -XX:CompileOnly=TestCMovSplitThruPhi::test -XX:-LoopUnswitching TestCMovSplitThruPhi
  *
  */