Class LSDACallSiteRecord


  • public class LSDACallSiteRecord
    extends GccAnalysisClass
    Defines the bounds of a try-catch region.
    • Constructor Detail

      • LSDACallSiteRecord

        public LSDACallSiteRecord​(TaskMonitor monitor,
                                  Program program,
                                  RegionDescriptor region)
        Constructor for a call site record.
        Note: The create(Address) method must be called after constructing an LSDACallSiteRecord to associate it with an address before any of its "get..." methods are called.
        Parameters:
        monitor - task monitor to see if the user has cancelled analysis.
        program - the program containing the call site record.
        region - the region of the program associated with the call site record.
    • Method Detail

      • create

        public void create​(Address addr,
                           DwarfEHDecoder decoder)
                    throws MemoryAccessException
        Creates data for a call site record at the indicated address and creates a comment to identify it as a call site record.
        Note: This method must get called before any of the "get..." methods.
        Parameters:
        addr - the start (minimum address) of this call site record.
        decoder - decodes dwarf encoded information within the LSDA
        Throws:
        MemoryAccessException - if memory couldn't be accessed for the call site record
      • getCallSite

        public AddressRange getCallSite()
        Get the call site addresses which make up the try.
        Returns:
        the address range of the call site
      • getLandingPad

        public Address getLandingPad()
        Get the landing pad address which indicates the catch for this call site.
        Returns:
        the landing pad address of the catch.
      • getLandingPadOffset

        public long getLandingPadOffset()
        Gets the offset of the landing pad address from the landing pad start.
        Returns:
        the landing pad offset
      • getActionOffset

        public int getActionOffset()
        Get the offset into the action table for the first action record to be caught.
        Returns:
        the offset into the action table