SPRAB89A September 2011 – March 2014
The scope identifies the descriptor type and specifies a program address range in which an action should take place. The range corresponds to a potentially-throwing call site. The unwinder looks through the descriptor list for descriptors containing a scope containing the call site; once a match is found, the descriptor is activated.
The scope encodes a program address range by specifying an offset from the starting address of the function and a length, both in bytes. If the length and offset each fit in a 15-bit unsigned field, the scope uses the short form encoding and the rest of the EXTAB entry can be encoded for PR0, PR1, PR3, or PR4. If either the length or offset exceed 15-bits, the scope uses the long form encoding and PR2 must be used.
The short form scope may not be used with PR2 (Lu32).
If the length or offset require the long form scope, personality routine PR2 (Lu32) must be used.
Bits X and Y in the scope encodings indicate the kind of descriptor that follows the scope: