Interface ParamList

  • All Known Implementing Classes:
    ParamListStandard, ParamListStandardOut

    public interface ParamList
    A group of ParamEntry that form a complete set for passing parameters (in one direction)
    • Method Detail

      • assignMap

        void assignMap​(Program prog,
                       DataType[] proto,
                       boolean isinput,
                       java.util.ArrayList<VariableStorage> res,
                       boolean addAutoParams)
        Given a list of datatypes, calculate the storage locations used for passing those datatypes
        Parameters:
        prog - is the active progra
        proto - is the list of datatypes
        isinput - is true if this parameter list is being processed for input arguments, false for output
        res - is the vector for holding the VariableStorage corresponding to datatypes
        addAutoParams - if true add/process auto-parameters
      • getPotentialRegisterStorage

        VariableStorage[] getPotentialRegisterStorage​(Program prog)
        Get a list of all parameter storage locations consisting of a single register
        Returns:
      • getStackParameterAlignment

        int getStackParameterAlignment()
        Return the amount of alignment used for parameters passed on the stack, or -1 if there are no stack params
        Returns:
        the alignment
      • getStackParameterOffset

        java.lang.Long getStackParameterOffset()
        Find the boundary offset that separates parameters on the stack from other local variables This is usually the address of the first stack parameter, but if the stack grows positive, this is the first address AFTER the parameters on the stack
        Returns:
      • possibleParamWithSlot

        boolean possibleParamWithSlot​(Address loc,
                                      int size,
                                      ParamList.WithSlotRec res)
        Determine if a particular address range is a possible parameter, and if so what slot(s) it occupies
        Parameters:
        loc - is the starting address of the range
        size - is the size of the range in bytes
        res - holds the resulting slot and slotsize
        Returns:
        true if the range is a possible parameter
      • isThisBeforeRetPointer

        boolean isThisBeforeRetPointer()