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