Bug 133751

Summary: [ftlopt] DFG get_by_id should inline chain accesses with a slightly polymorphic base
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 133229    
Attachments:
Description Flags
proposed patch mhahnenberg: review+

Description Filip Pizlo 2014-06-11 11:01:30 PDT
Patch forthcoming
Comment 1 Filip Pizlo 2014-06-11 17:44:10 PDT
Created attachment 232924 [details]
proposed patch

Not yet ready for review because I'm still testing performance
Comment 2 Filip Pizlo 2014-06-11 19:52:58 PDT
Comment on attachment 232924 [details]
proposed patch

The performance is good.
Comment 3 Oliver Hunt 2014-06-12 10:15:33 PDT
Comment on attachment 232924 [details]
proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=232924&action=review

> Source/JavaScriptCore/bytecode/GetByIdVariant.cpp:56
> +    if (!!m_chain != !!other.m_chain)

!m_chain != !other.m_chain is a bit clearer and logically equivalent.

> Source/JavaScriptCore/bytecode/PutByIdStatus.cpp:312
> -        if (!chain->isNormalized())
> +        if (structure->isProxy() || !chain->isNormalized())

Does this belong in this patch?
Comment 4 Filip Pizlo 2014-06-12 10:21:44 PDT
(In reply to comment #3)
> (From update of attachment 232924 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=232924&action=review
> 
> > Source/JavaScriptCore/bytecode/GetByIdVariant.cpp:56
> > +    if (!!m_chain != !!other.m_chain)
> 
> !m_chain != !other.m_chain is a bit clearer and logically equivalent.
> 
> > Source/JavaScriptCore/bytecode/PutByIdStatus.cpp:312
> > -        if (!chain->isNormalized())
> > +        if (structure->isProxy() || !chain->isNormalized())
> 
> Does this belong in this patch?

Yes.
Comment 5 Mark Hahnenberg 2014-06-12 10:36:03 PDT
Comment on attachment 232924 [details]
proposed patch

r=me
Comment 6 Filip Pizlo 2014-06-12 10:43:57 PDT
Landed in http://trac.webkit.org/changeset/169902