Summary: | Dumping OSR ExitValue should expand materializations only once | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Basile Clement <basile_clement> | ||||
Component: | JavaScriptCore | Assignee: | Basile Clement <basile_clement> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | fpizlo, ggaren, mark.lam, msaboff | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Basile Clement
2015-05-06 10:18:42 PDT
Created attachment 252600 [details]
Patch
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 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. (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. Committed r183939: <http://trac.webkit.org/changeset/183939> Missing braces fixed in r183944 <http://trac.webkit.org/changeset/183944> |