[9] RFR (S): 8157181: Compilers accept modification of final fields outside initializer methods

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Jun 10 16:05:21 UTC 2016

> Please note an additional small change in rewriter.cpp:
> +if (!reverse) {
> // Check if any final field of the class given as parameter is modified
> // outside of initializer methods of the class. Fields that are modified
>    ...
> +}
> It's sufficient to check fields during rewriting (i.e., we're coming
> from Rewriter::rewrite_bytecodes()). We do not need to do the checks if
> the class has already been rewritten but we're reversing changes due to
> some failure that appeared during rewriting (in that case scan_method()
> is called from Rewriter::restore_bytecodes()).


> Here is the updated webrev:
> http://cr.openjdk.java.net/~zmajo/8157181/webrev.11/

Looks good.


+          "for classfile version >= 51")

s/51/53/ (no need to send new webrev).

Best regards,
Vladimir Ivanov

More information about the hotspot-compiler-dev mailing list