提交 6e3b9c8e 编写于 作者: A aefimov

Merge

......@@ -1131,6 +1131,13 @@ c3618e1cdefdda6c262f082791bfd988e0e9d9c9 jdk8u162-b10
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 @@ d10254debf7c1342416062bf1ba5258f16a8ce00 jdk8u172-b01
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 @@ dcd3ace969fcde4eedaddba629647656289d4264 jdk8u172-b10
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 @@ b46904cf3eaf0ca150aee9f0d8bdf85e2691e74f jdk8u181-b09
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
......
/*
* 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 @@ void LinkResolver::resolve_field(fieldDescriptor& fd, KlassHandle resolved_klass
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());
}
// 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);
// 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());
......
......@@ -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
*
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册