hg: jdk9/hs-comp/hotspot: 8157181: Compilers accept modification of final fields outside initializer methods

zoltan.majo at oracle.com zoltan.majo at oracle.com
Wed Jun 15 14:18:08 UTC 2016


Changeset: c558d46c1af2
Author:    zmajo
Date:      2016-06-15 14:27 +0200
URL:       http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/c558d46c1af2

8157181: Compilers accept modification of final fields outside initializer methods
Summary: Track initialized final field updates; disable constant folding if an update is detected. Enforce final field update rules introduced by JVMS-7 (but only for JDK 9).
Reviewed-by: vlivanov, dnsimon, forax, never, kvn, coleenp

! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantPool.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ConstantPool.java
! src/share/vm/c1/c1_GraphBuilder.cpp
! src/share/vm/c1/c1_Runtime1.cpp
! src/share/vm/ci/ciField.cpp
! src/share/vm/ci/ciField.hpp
! src/share/vm/ci/ciFlags.hpp
! src/share/vm/ci/ciStreams.cpp
! src/share/vm/interpreter/interpreterRuntime.cpp
! src/share/vm/interpreter/linkResolver.cpp
! src/share/vm/interpreter/linkResolver.hpp
! src/share/vm/interpreter/rewriter.cpp
! src/share/vm/jvmci/jvmciCompilerToVM.cpp
! src/share/vm/oops/method.cpp
! src/share/vm/oops/method.hpp
! src/share/vm/opto/parse3.cpp
! src/share/vm/runtime/fieldDescriptor.hpp
! src/share/vm/utilities/accessFlags.hpp
! test/compiler/jvmci/common/patches/jdk.vm.ci/jdk/vm/ci/hotspot/CompilerToVMHelper.java
! test/compiler/jvmci/compilerToVM/ConstantPoolTestCase.java
! test/compiler/jvmci/compilerToVM/ConstantPoolTestsHelper.java
! test/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java



More information about the jdk9-all-changes mailing list