Title: [196011] trunk/Websites/webkit.org
Revision
196011
Author
[email protected]
Date
2016-02-02 08:58:41 -0800 (Tue, 02 Feb 2016)

Log Message

Minor fixes for B3 IR documentation
https://bugs.webkit.org/show_bug.cgi?id=153782

Reviewed by Michael Saboff.

Fix minor issues that Geoff found.

* docs/b3/intermediate-representation.html:

Modified Paths

Diff

Modified: trunk/Websites/webkit.org/ChangeLog (196010 => 196011)


--- trunk/Websites/webkit.org/ChangeLog	2016-02-02 16:38:02 UTC (rev 196010)
+++ trunk/Websites/webkit.org/ChangeLog	2016-02-02 16:58:41 UTC (rev 196011)
@@ -1,3 +1,14 @@
+2016-02-02  Filip Pizlo  <[email protected]>
+
+        Minor fixes for B3 IR documentation
+        https://bugs.webkit.org/show_bug.cgi?id=153782
+
+        Reviewed by Michael Saboff.
+
+        Fix minor issues that Geoff found.
+
+        * docs/b3/intermediate-representation.html:
+
 2016-01-30  Filip Pizlo  <[email protected]>
 
         B3 documentation style shouldn't have hacks for h1

Modified: trunk/Websites/webkit.org/docs/b3/intermediate-representation.html (196010 => 196011)


--- trunk/Websites/webkit.org/docs/b3/intermediate-representation.html	2016-02-02 16:38:02 UTC (rev 196010)
+++ trunk/Websites/webkit.org/docs/b3/intermediate-representation.html	2016-02-02 16:58:41 UTC (rev 196011)
@@ -88,13 +88,19 @@
     <h2>Stack Slot</h2>
 
     <p>B3 exposes the concept of stack-allocated data and gives the client a lot of control.
-      You can force stack slots to end up at a particular offset from the frame pointer, though
-      this is very dangerous.  After compilation is done, you can get the selected frame pointer
-      offset from any stack slot.  Usually, you let B3 select where stack slots go, and then use
-      the StackSlot API to get its FP offset after compilation.</p>
+      By default, stack slots get allocated wherever B3 chooses. It will try to pack them as
+      much as possible. After compilation is done, you can retrieve each stack slot's location
+      in the form of an offset from the frame pointer.</p>
 
+    <p>You can force stack slots to end up at a particular offset from the frame pointer, though
+      this is very dangerous.  For example, B3 assumes that it can use the slots closest to the
+      frame pointer for callee-saves, and currently when you force something to a particular
+      frame pointer offset, there is no mechanism to notice that this space is also being used
+      for callee-saves.  Therefore, we recommend not using the frame pointer offset forcing
+      feature unless you know a lot about the ABI and you have no other choice.</p>
+
     <p>Stack slots are also used for creating non-SSA variables with the intention of having B3
-      convert them into SSA.  There are two kinds of stack lots.</p>
+      convert them into SSA.  There are two kinds of stack slots.</p>
 
     <dl>
       <dt>Anonymous</dt>
@@ -118,7 +124,8 @@
       predecessors.  Each basic block may have zero or more successors.  The successors are
       controlled by the basic block's last Value, which must be a ControlValue instance.</p>
 
-    <p>Each basic block contains a Vector&lt;Value*&gt; as the contents of the block.</p>
+    <p>Each basic block contains a Vector&lt;Value*&gt; as the contents of the block. Control
+      flow inside the block is implicit based on the order of Values in the vector.</p>
 
     <h2>Opcodes</h2>
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to