Title: [183939] trunk/Source/_javascript_Core
Revision
183939
Author
basile_clem...@apple.com
Date
2015-05-07 11:39:46 -0700 (Thu, 07 May 2015)

Log Message

Dumping OSR ExitValue should expand materializations only once
https://bugs.webkit.org/show_bug.cgi?id=144694

Reviewed by Filip Pizlo.

Currently, dumping OSR exit values will print the full materialization
information each time it is encountered. We change it to print only a
brief description (only the materialization's address), and print the
whole set of materializations later on.

This makes the dump less confusing (less likely to think that two
instances of the same materialization are different), and will be a
necessary change if/when we support materialization cycles.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExitValue.cpp:
(JSC::FTL::ExitValue::dumpInContext):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (183938 => 183939)


--- trunk/Source/_javascript_Core/ChangeLog	2015-05-07 18:32:29 UTC (rev 183938)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-05-07 18:39:46 UTC (rev 183939)
@@ -1,3 +1,26 @@
+2015-05-07  Basile Clement  <basile_clem...@apple.com>
+
+        Dumping OSR ExitValue should expand materializations only once
+        https://bugs.webkit.org/show_bug.cgi?id=144694
+
+        Reviewed by Filip Pizlo.
+
+        Currently, dumping OSR exit values will print the full materialization
+        information each time it is encountered. We change it to print only a
+        brief description (only the materialization's address), and print the
+        whole set of materializations later on.
+
+        This makes the dump less confusing (less likely to think that two
+        instances of the same materialization are different), and will be a
+        necessary change if/when we support materialization cycles.
+
+        * ftl/FTLCompile.cpp:
+        (JSC::FTL::mmAllocateDataSection):
+        * ftl/FTLExitValue.cpp:
+        (JSC::FTL::ExitValue::dumpInContext):
+        * ftl/FTLLowerDFGToLLVM.cpp:
+        (JSC::FTL::LowerDFGToLLVM::buildExitArguments):
+
 2015-05-07  Andreas Kling  <akl...@apple.com>
 
         Worker threads leak WeakBlocks (as seen on leaks bot)

Modified: trunk/Source/_javascript_Core/ftl/FTLCompile.cpp (183938 => 183939)


--- trunk/Source/_javascript_Core/ftl/FTLCompile.cpp	2015-05-07 18:32:29 UTC (rev 183938)
+++ trunk/Source/_javascript_Core/ftl/FTLCompile.cpp	2015-05-07 18:39:46 UTC (rev 183939)
@@ -396,6 +396,11 @@
             if (verboseCompilationEnabled()) {
                 DumpContext context;
                 dataLog("    Exit values: ", inContext(exit.m_values, &context), "\n");
+                if (!exit.m_materializations.isEmpty()) {
+                    dataLog("    Materializations: \n");
+                    for (ExitTimeObjectMaterialization* materialization : exit.m_materializations)
+                        dataLog("        Materialize(", pointerDump(materialization), ")\n");
+                }
             }
         }
         

Modified: trunk/Source/_javascript_Core/ftl/FTLExitValue.cpp (183938 => 183939)


--- trunk/Source/_javascript_Core/ftl/FTLExitValue.cpp	2015-05-07 18:32:29 UTC (rev 183938)
+++ trunk/Source/_javascript_Core/ftl/FTLExitValue.cpp	2015-05-07 18:39:46 UTC (rev 183939)
@@ -114,7 +114,7 @@
         out.print("Recovery(", recoveryOpcode(), ", arg", leftRecoveryArgument(), ", arg", rightRecoveryArgument(), ", ", recoveryFormat(), ")");
         return;
     case ExitValueMaterializeNewObject:
-        out.print("Materialize(", pointerDump(objectMaterialization()), ")");
+        out.print("Materialize(", WTF::RawPointer(objectMaterialization()), ":..)");
         return;
     }
     

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (183938 => 183939)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2015-05-07 18:32:29 UTC (rev 183938)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2015-05-07 18:39:46 UTC (rev 183939)
@@ -7987,6 +7987,11 @@
         
         if (verboseCompilationEnabled())
             dataLog("        Exit values: ", exit.m_values, "\n");
+            if (!exit.m_materializations.isEmpty()) {
+                dataLog("        Materializations: \n");
+                for (ExitTimeObjectMaterialization* materialization : exit.m_materializations)
+                    dataLog("            Materialize(", pointerDump(materialization), ")\n");
+            }
     }
     
     void callStackmap(OSRExit& exit, ExitArgumentList& arguments)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to