-
Enhancement
-
Resolution: Unresolved
-
P4
-
25
-
generic
C2 sometimes generates instructions that compute values that go unused, e.g. JDK-8020282. For the ideal graph, we have verification passes to ensure the graph is well-formed. Applying this principle to the generated assembly, we can set out to find such instructions automatically.
A few possibilities to strive towards that:
- Apply heuristics that detect when the result of an instruction is immediately overwritten by another instruction without reading from it.
- Leverage the information we have in the hotspot (dis)assembler to perform basic symbolic execution to mark unused computations.
A few possibilities to strive towards that:
- Apply heuristics that detect when the result of an instruction is immediately overwritten by another instruction without reading from it.
- Leverage the information we have in the hotspot (dis)assembler to perform basic symbolic execution to mark unused computations.
- relates to
-
JDK-8020282 Generated code quality: redundant LEAs in the chained dereferences
-
- In Progress
-