review (M) for 6892658: C2 should optimize some stringbuilder patterns
Vladimir.Kozlov at Sun.COM
Wed Nov 11 12:08:29 PST 2009
You use kit.gvn(). instead of _gvn-> in several places.
Also I think you can use __ instead of kit. for intcon, makecon, loads
and others and leave it for control, memory operations only.
You use fetch_static_field() only to read Integer.sizeTable. Does it need
to be so generalized? But you can keep it as it is.
Can you separate inlined comments from code by empty lines in int_stringSize()?
In int_stringSize(), I think, TypeAryPtr::INTS memory should be used instead of
TypeAryPtr::CHARS (for final_mem) and int_adr_idx (needs to add it) instead
In int_getChars() should the sign store to have IfTrue(iff) control?:
1124 Node* st = __ store_to_memory(kit.control(), kit.array_element_address(char_array, m1, T_CHAR),
1125 sign, T_CHAR, char_adr_idx);
1127 final_merge->init_req(1, __ IfTrue(iff));
copy_string(), so you not supporting byte array strings for now?
Why 6 is limit for constant strings? Add some comments.
Tom Rodriguez wrote:
More information about the hotspot-compiler-dev