-
Enhancement
-
Resolution: Fixed
-
P4
-
repo-valhalla
Adding the ACC_STRICT flag for final fields indicates that the field may only be modified in an <init> method before execution of the super() call.(4.5, 4.9.2, 4.10.1.9.putfield)
In order to realize this, the initial strict instance fields of a class must be collected and monitored by the verifier with the list being updated at putfield and jump calls. These fields must all be initialized by the time the super constructor is called. For constructors with control flow, additional information about the state of these strict fields must be provided by the classfile, and thus must be generated by javac.
In order to realize this, the initial strict instance fields of a class must be collected and monitored by the verifier with the list being updated at putfield and jump calls. These fields must all be initialized by the time the super constructor is called. For constructors with control flow, additional information about the state of these strict fields must be provided by the classfile, and thus must be generated by javac.
- relates to
-
JDK-8351979 Improve verification error messages for strict fields
-
- Resolved
-
-
JDK-8351898 [lworld] javac is generating superfluous assert_unset_fields frame
-
- Open
-
- links to
-
Commit(lworld) openjdk/valhalla/7a1ff29d
-
Review(lworld) openjdk/valhalla/1373