llvm.org GIT mirror llvm / 112e094
[docs] Update Statepoint docs to clarify format for recent changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257843 91177308-0d34-0410-b5e6-96231b3b80d8 Philip Reames 3 years ago
1 changed file(s) with 16 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
565565 * Constant which describes number of following deopt *Locations* (not
566566 operands)
567567 * Variable number of Locations, one for each deopt parameter listed in
568 the IR statepoint (same number as described by previous Constant)
569 * Variable number of Locations pairs, one pair for each unique pointer
570 which needs relocated. The first Location in each pair describes
571 the base pointer for the object. The second is the derived pointer
572 actually being relocated. It is guaranteed that the base pointer
568 the IR statepoint (same number as described by previous Constant). At
569 the moment, only deopt parameters with a bitwidth of 64 bits or less
570 are supported. Values of a type larger than 64 bits can be specified
571 and reported only if a) the value is constant at the call site, and b)
572 the constant can be represented with less than 64 bits (assuming zero
573 extension to the original bitwidth).
574 * Variable number of Locations pairs, one pair for each pointer or vector
575 of pointers which needs relocated. The first Location in each pair
576 describes the base pointer for the object. The second is the derived
577 pointer actually being relocated. It is guaranteed that the base pointer
573578 must also appear explicitly as a relocation pair if used after the
574579 statepoint. There may be fewer pairs then gc parameters in the IR
575580 statepoint. Each *unique* pair will occur at least once; duplicates
576 are possible.
581 are possible. Location pairs may either be of pointer size, in
582 which case they describe a single pointer being relocated and its
583 base, or a multiple of pointer size. In the later case, the Location
584 must be interpreted as describing a sequence of pointers and their
585 corresponding base pointers. Both Locations in a pair can be assumed
586 to be of the same size.
577587
578588 Note that the Locations used in each section may describe the same
579589 physical location. e.g. A stack slot may appear as a deopt location,