Skip to content
This repository has been archived by the owner on Jan 26, 2019. It is now read-only.

[Future] Advance Forge Code to fit Java 8 Source Level #141

Closed
sameer opened this issue Feb 22, 2016 · 10 comments
Closed

[Future] Advance Forge Code to fit Java 8 Source Level #141

sameer opened this issue Feb 22, 2016 · 10 comments

Comments

@sameer
Copy link
Member

sameer commented Feb 22, 2016

Java 8's bytecode introduces some compile-time optimizations over Java 6's bytecode.
Forge defaults to the outddated Java 6 bytecode, and no one should be using JDK6 anymore, it's pointless to default to it. However, forcing Java 8 does not work, the code needs to be manually examined for source level compat issues.

According to Oracle, JDK9 (slated for early 2017) will introduce new bytecode modifications to allow for more optimized String operations (http://openjdk.java.net/jeps/197).

While performance gains from changing the source level are widely disputed, it should nevertheless be raised to support JSR proposals for JDK9 (and those that were implemented in JDK8).

Edit: I meant proposal 280 (http://openjdk.java.net/jeps/280)

@ghost
Copy link

ghost commented Feb 22, 2016

is there anyway that thermos will ever see 1.8 or 1.9?

@sameer
Copy link
Member Author

sameer commented Feb 22, 2016

I am considering that as a project for June, right now there are more pressing issues that need to be dealt with.

@ghost
Copy link

ghost commented Feb 23, 2016

so it is possible?

@sameer
Copy link
Member Author

sameer commented Feb 23, 2016

Yup, but not definitive

@sameer
Copy link
Member Author

sameer commented Feb 23, 2016

Hmm..adding -noverify is a temporary fix that would allow us to move to source level 8.

@TerdyTheTerd
Copy link

Does forcing java 8 simply not work due to forge trying to use the older java 6 bytecode? Optimization gains are always a nice thing to have, especially on large servers that take several minutes to load.

@sameer
Copy link
Member Author

sameer commented Feb 23, 2016

Yeah, -noverify allows the server to start and run, but I'm not sure how stable it is

@Yive
Copy link
Contributor

Yive commented Feb 23, 2016

well if it's confirmed to be stable, might want to figure out how to make -noverify defaulted

@sameer
Copy link
Member Author

sameer commented Feb 23, 2016

It would require that everyone add it as a startup script argument, don't think it's possible to automatically apply it

@sameer
Copy link
Member Author

sameer commented Feb 24, 2016

Slated for BL31

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants