http://cr.openjdk.java.net/~hannesw/8144131/webrev/
for https://bugs.openjdk.java.net/browse/JDK-8144131I piggybacked a small fix to keep unary plus/minus from changing the type of long literals to doubles. I'm not sure if that is serious enough that it should get its own bug, let me know if you think so.
Hannes