RFR(S): 8188809: [MVT] C2 support for interpreter buffering of value types
Tobias Hartmann
tobias.hartmann at oracle.com
Wed Nov 1 10:53:33 UTC 2017
Hi,
please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8188809
http://cr.openjdk.java.net/~thartmann/8188809/webrev.00/
C2 needs to emit a runtime check on method entry to avoid storing interpreter buffered value type oops in fields or
arrays. I've optimized the "base <= oop < (base + size)" checks by using a single unsigned comparison.
The patch includes some refactoring:
- Changed the code in arguments.cpp to bail out in case both EnableMVT and EnableValhalla are set
- Changed the code in macro.cpp to use copy_call_debug_info() instead of add_safepoint_edges() and moved the now unused
Compile::add_safepoint_edges() and should_reexecute_implied_by_bytecode from compile.cpp back to graphKit.cpp
- Fixed some naming issues in TestMinimalValueTypes
All tests pass.
Thanks,
Tobias
More information about the valhalla-dev
mailing list