Bug 144694 - Dumping OSR ExitValue should expand materializations only once
Summary: Dumping OSR ExitValue should expand materializations only once
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Basile Clement
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-06 10:18 PDT by Basile Clement
Modified: 2015-05-07 14:03 PDT (History)
4 users (show)

See Also:


Attachments
Patch (3.71 KB, patch)
2015-05-07 11:26 PDT, Basile Clement
fpizlo: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Basile Clement 2015-05-06 10:18:42 PDT
Dumping FTL ExitValue should expand materializations only once
Comment 1 Basile Clement 2015-05-07 11:26:35 PDT
Created attachment 252600 [details]
Patch
Comment 2 Basile Clement 2015-05-07 11:27:26 PDT
Before:
    
    Exit values: arg2:InJSStack:arg2 arg1:InJSStack:arg1 arg0:InJSStack:this loc0:Constant(Cell: 0x11204f880 (%A0:global), ID: 377) loc1:Dead loc2:Materialize(0x113fe3ea0:PhantomNewObject(NamedPropertyPLoc(0) => Materialize(0x113fe3ed0:PhantomNewObject(StructurePLoc(0) => Constant(Structure: 0x11208f910:[Object, {}, NonArray, Proto:0x112077ff0], ID: 1))), StructurePLoc(0) => Constant(Structure: 0x11208d4c0:[Object, {a:0}, NonArray, Proto:0x112077ff0], ID: 1))) loc3:Dead loc4:Dead loc5:Dead loc6:Dead loc7:Dead loc8:Dead loc9:Dead

After:

    Exit values: arg2:InJSStack:arg2 arg1:InJSStack:arg1 arg0:InJSStack:this loc0:Constant(Cell: 0x10804f880 (%B6:global), ID: 377) loc1:Dead loc2:Materialize(0x109fe3ea0:..) loc3:Dead loc4:Dead loc5:Dead loc6:Dead loc7:Dead loc8:Dead loc9:Dead
    Materializations: 
        Materialize(0x109fe3ed0:PhantomNewObject(StructurePLoc(0) => Constant(Structure: 0x10808f910:[Object, {}, NonArray, Proto:0x108077ff0], ID: 1)))
        Materialize(0x109fe3ea0:PhantomNewObject(NamedPropertyPLoc(0) => Materialize(0x109fe3ed0:..), StructurePLoc(0) => Constant(Structure: 0x10808d4c0:[Object, {a:0}, NonArray, Proto:0x108077ff0], ID: 1)))
Comment 3 Filip Pizlo 2015-05-07 11:36:02 PDT
Comment on attachment 252600 [details]
Patch

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

> Source/JavaScriptCore/ftl/FTLCompile.cpp:399
> +                dataLog("    Materializations: \n");

Maybe change this to not print the "Materializations:" line if exit.m_materializations.isEmpty()

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7990
> +            dataLog("        Materializations: \n");

Ditto.
Comment 4 Basile Clement 2015-05-07 11:39:18 PDT
(In reply to comment #3)
> Comment on attachment 252600 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=252600&action=review
> 
> > Source/JavaScriptCore/ftl/FTLCompile.cpp:399
> > +                dataLog("    Materializations: \n");
> 
> Maybe change this to not print the "Materializations:" line if
> exit.m_materializations.isEmpty()
> 
> > Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:7990
> > +            dataLog("        Materializations: \n");
> 
> Ditto.

Makes sense, adding that before landing.
Comment 5 Basile Clement 2015-05-07 11:41:06 PDT
Committed r183939: <http://trac.webkit.org/changeset/183939>
Comment 6 Basile Clement 2015-05-07 14:03:15 PDT
Missing braces fixed in r183944 <http://trac.webkit.org/changeset/183944>