[llvm] r257843 - [docs] Update Statepoint docs to clarify format for recent changes

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 15:58:19 PST 2016


Author: reames
Date: Thu Jan 14 17:58:18 2016
New Revision: 257843

URL: http://llvm.org/viewvc/llvm-project?rev=257843&view=rev
Log:
[docs] Update Statepoint docs to clarify format for recent changes


Modified:
    llvm/trunk/docs/Statepoints.rst

Modified: llvm/trunk/docs/Statepoints.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/Statepoints.rst?rev=257843&r1=257842&r2=257843&view=diff
==============================================================================
--- llvm/trunk/docs/Statepoints.rst (original)
+++ llvm/trunk/docs/Statepoints.rst Thu Jan 14 17:58:18 2016
@@ -566,15 +566,25 @@ Each statepoint generates the following
 * Constant which describes number of following deopt *Locations* (not
   operands)
 * Variable number of Locations, one for each deopt parameter listed in
-  the IR statepoint (same number as described by previous Constant)
-* Variable number of Locations pairs, one pair for each unique pointer
-  which needs relocated.  The first Location in each pair describes
-  the base pointer for the object.  The second is the derived pointer
-  actually being relocated.  It is guaranteed that the base pointer
+  the IR statepoint (same number as described by previous Constant).  At 
+  the moment, only deopt parameters with a bitwidth of 64 bits or less 
+  are supported.  Values of a type larger than 64 bits can be specified 
+  and reported only if a) the value is constant at the call site, and b) 
+  the constant can be represented with less than 64 bits (assuming zero 
+  extension to the original bitwidth).
+* Variable number of Locations pairs, one pair for each pointer or vector
+  of pointers which needs relocated.  The first Location in each pair 
+  describes the base pointer for the object.  The second is the derived
+  pointer actually being relocated.  It is guaranteed that the base pointer
   must also appear explicitly as a relocation pair if used after the
   statepoint. There may be fewer pairs then gc parameters in the IR
   statepoint. Each *unique* pair will occur at least once; duplicates
-  are possible.
+  are possible.  Location pairs may either be of pointer size, in 
+  which case they describe a single pointer being relocated and its 
+  base, or a multiple of pointer size.  In the later case, the Location
+  must be interpreted as describing a sequence of pointers and their 
+  corresponding base pointers. Both Locations in a pair can be assumed 
+  to be of the same size.  
 
 Note that the Locations used in each section may describe the same
 physical location.  e.g. A stack slot may appear as a deopt location,




More information about the llvm-commits mailing list