Request for reviews (XS): 6714694: assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge")
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Mon Jun 16 18:29:36 PDT 2008
MachNode::adr_type() is OK since it will return adr_type
produced by get_base_and_disp() :
const class TypePtr *MachNode::adr_type() const {
intptr_t offset = 0;
const TypePtr *adr_type = TYPE_PTR_SENTINAL; // attempt computing adr_type
const Node *base = get_base_and_disp(offset, adr_type);
if( adr_type != TYPE_PTR_SENTINAL ) {
return adr_type; // get_base_and_disp has the answer
}
I updated webrev but I am still running tests: CTW, NSK, small runThese.
Tests are good so far except JPRT jvm98/jbb on linux-product which I need
to look on (could be implicit NULL check or oop maps does not work since
it happened after GC).
http://webrev.invokedynamic.info/kvn/6714694/index.html
Thanks,
Vladimir
Tom Rodriguez wrote:
>> MachNode::get_base_and_disp() does not process correctly
>> an addressing with a narrow oop LoadConN node (is_Con() == true).
>> As result the adr_type() for such addresses is "BotPTR* + bot"
>> which aliases with all stores.
>
> Also make sure MachNode::adr_type does the right thing.
>
> tom
>
>>
>> I will resend the webrev with all changes.
>>
>> Thanks,
>> Vladimir
>>
>> Tom Rodriguez wrote:
>>> You need to run CTW for verify this. Also include the generated test
>>> as a regression test. Otherwise it seems reasonable.
>>> tom
>>> On Jun 16, 2008, at 2:58 PM, Vladimir Kozlov wrote:
>>>>
>>>> http://webrev.invokedynamic.info/kvn/6714694/index.html
>>>>
>>>> Fixed 6714694: assertion in 64bit server vm (store->find_edge(load)
>>>> != -1,"missing precedence edge")
>>>>
>>>> Problem:
>>>> The method raise_LCA_above_marks() terminates LCA search early
>>>> when mid->dom_lca(LCA) == mid which is already marked as visited.
>>>> Note: it is old problem not related to COOP.
>>>>
>>>> Solution:
>>>> Set visited mark after LCA's predecessors are put on the worklist.
>>>>
>>>> Reviewed by:
>>>> Fix verified (y/n): y, failed test cases.
>>>>
>>>> Other testing:
>>>> JPRT
>>>>
>
More information about the hotspot-compiler-dev
mailing list