[lworld] RFR: 8244975: [lworld] Investigate if VM can implement Object::hashCode by calling ValueBootstrapMethods for inline types [v2]

Srikanth Adayapalam sadayapalam at openjdk.java.net
Mon Aug 10 06:44:36 UTC 2020

On Fri, 7 Aug 2020 23:16:56 GMT, David Simms <dsimms at openjdk.org> wrote:

>> Use ValueBootstrapMethods for Object::hashCode()
> David Simms has updated the pull request incrementally with one additional commit since the last revision:
>   change javac not to generate equals/hashCode

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java line 1196:

> 1195:
> 1196:             if (requireToString) {
> 1197:                 // public String toString() { throw new RuntimeException(message); }

The two statements preceding if (requireToString) viz
            // Make a body comprising { throw new RuntimeException(""Internal error: This method must have been replaced by
            javac"); } JCBlock body = make.Block(Flags.SYNTHETIC, List.of(make.Throw(
                            List.of(make.Literal(CLASS, "Internal error: This method must have been replaced by javac")),

should be folded into the if (requireToString) itself for better readability and encapsulation


PR: https://git.openjdk.java.net/valhalla/pull/136

More information about the valhalla-dev mailing list