RFR: String Density/Compact String JEP 254

Roland Westrelin roland.westrelin at oracle.com
Wed Oct 7 13:28:55 UTC 2015


> http://cr.openjdk.java.net/~thartmann/compact_strings/webrev/hotspot

I looked at the compiler related files only.

intrinsicnode.hpp

A comment would be nice:

49   typedef enum ArgEncoding { LL, LU, UL, UU, none } ArgEnc;

The (ASSERT only) comment should be removed:

53   virtual uint size_of() const; // Size is bigger (ASSERT only)

library_call.cpp

In LibraryCallKit::inline_hasNegatives(), don’t you need to test for too many Deoptimization::Reason_intrinsic before intrinsifying?

Shouldn’t LibraryCallKit::inline_string_toBytesU() and LibraryCallKit::inline_string_getCharsU() use an ArrayCopyNode (maybe an improvement/cleanup for later)?

Same is true for PhaseStringOpts::arraycopy

macroAssembler_sparc.cpp 

I don’t think you should reference c2 stuff outside c2:

4440   if (ae == StrIntrinsicNode::LU || ae == StrIntrinsicNode::UL) {

Roland.


More information about the hotspot-dev mailing list