-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decompile Java Streams to beautiful EO #329
Comments
@maxonfjvipon Thank you for the explanation. |
@maxonfjvipon Can we change the code you provided in the description to the following: long start = System.currentTimeMillis();
String[] strings = IntStream.range(0, 10)
.mapToObj(i -> String.valueOf(i))
.toArray(String[]::new);
int sum = Arrays.stream(strings)
.filter(s -> Boolean.valueOf(s.equals("")).equals(false))
.mapToInt(s -> Integer.parseInt(s))
.sum(); ? |
@volodya-lombrozo sure, the creation of array of strings is not important step for us, we won't touch it in the optimizations |
…lation of INVOKEDYNAMIC instruction
… integration tests
@maxonfjvipon 2 puzzles #341, #342 are still not solved. |
…- should be IRETURN
…ith array storage
We have the next java code:
After compilation, disassembling and decompiling it looks like this: decompiled.txt
In short - there are only opcodes, no decompilation is happening.
Ideally, the EO after decompilation should look something like this (I'm considering only working with Streams)
Of course maybe it's not possible to get exactly such picture after decompilation because of bytecode restrictions. But the closer - the better
The text was updated successfully, but these errors were encountered: