Request for reviews (M): 6723160: Nightly failure: Error: meet not symmetric

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed Jul 16 09:40:15 PDT 2008


http://webrev.invokedynamic.info/kvn/6723160/index.html

Fixed 6723160: Nightly failure: Error: meet not symmetric

Problem:
Missing settings of _instance_id value to InstanceBot in
TypeInstPtr::xmeet() and TypeAryPtr::xmeet().

Solution:
Add missing _instance_id settings.

Also:
Replaced klass exactness settings for types with instance_id
with asserts. Add explicit casts to klass exactness and ptr type
where we do instance_id casting.

Mark DecodeN and EncodeP nodes as expensive to avoid their
rematerialization.

Change CallNode::may_modify() to always return false for types
with instance_id since scalar-replaceable allocations are not
passed as arguments (otherwise they will be not scalar-replaceable).

In flatten_alias_type() preserve klass exactness and non-nullness
for types with instance_id, both arrays and instances.
Flatten only array's elements access to have only one alias type.
Set instance_id to InstanceBot (default value) for regular types.

Update inputs of original memory phis in EA split_unique_types()
to avoid intermixing unique instances and general memory operations.
Otherwise we got the assert in SuperWord::mem_slice_preds().

Add more complex search of scalar-replaceable object's fields
values through phis during the allocation elimination.

Added the regression tests for 6724218 since the bug
was fixed in HS14 as part of 6714694 fix.

Reviewed by:
Fix verified (y/n): y, generated code

Other testing:
JPRT, NSK (32-,64-bits, COOP), CTW (32-,64-bits, COOP)




More information about the hotspot-compiler-dev mailing list