Value type array optimizations/fixes with C2
Tobias Hartmann
tobias.hartmann at oracle.com
Thu Feb 16 13:33:55 UTC 2017
Hi,
here's a small follow-up fix:
- Parse::ensure_phi() should check for dead value type locals before generating Phis for merging
- ValueTypeNode::store_values() uses wrong holder object when storing recursively flattened VT fields
http://cr.openjdk.java.net/~thartmann/valhalla/vt_prototype/webrev.08/
Thanks,
Tobias
On 13.02.2017 17:39, Tobias Hartmann wrote:
> Hi,
>
> http://cr.openjdk.java.net/~thartmann/valhalla/vt_prototype/webrev.07/
>
> please review this change which includes:
> - Fixed wrong return value in AddPNode::Value()
> - Basic version of ValueArrayKlass::oop_print_on() for debugging
> - Fixed escape analysis to keep track of the field being accessed in VT arrays
> - Re-enabled asserts in graphKit.cpp and memnode.cpp
> - Implemented scalar replacement for flattened value type arrays
> - Implemented re-allocation of scalar replaced value type arrays on deoptimization
> - Refactored valuetypenode.cpp and related code
> - Refactored test bench to use flags from jtreg command line instead of hard-coding command line options
> - Enabled/added corresponding regression tests and match rules
>
> There are still some problems with incremental inlining. I disabled the flag for testing and will work on fixing this next.
>
> Thanks,
> Tobias
>
More information about the valhalla-dev
mailing list