Request for reviews (S): 6791572: assert("duplicating node that's already been matched")
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Fri Feb 20 13:42:32 PST 2009
This looks good to me. I think it properly captures the constraint
that multiple uses from address expressions don't require marking as
shared but if there are both address and non-address uses then it must
be marked shared.
tom
On Feb 19, 2009, at 6:57 PM, Vladimir Kozlov wrote:
> I updated the fix after discussion with Tom.
>
> http://cr.openjdk.java.net/~kvn/6791572/webrev.01
>
> Thanks,
> Vladimir
>
> Vladimir Kozlov wrote:
>> http://cr.openjdk.java.net/~kvn/6791572/webrev.00
>> Fixed 6791572: assert("duplicating node that's already been matched")
>> Problem:
>> AddP, LShiftX nodes and their inputs are marked as visited
>> on x86 during the first address expression processing.
>> AddP, LShiftX inputs will be not marked as shared since
>> AddP, LShiftX will be marked as shared first.
>> And this causes the problem since after AddP, LShiftX
>> are folded into address expressions their inputs
>> will be shared by several address expressions.
>> Solution:
>> Delay marking nodes as visited if they are inputs
>> to an address expression.
>> Reviewed by:
>> Fix verified (y/n): y, test case
>> Other testing:
>> JPRT
More information about the hotspot-compiler-dev
mailing list