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
        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
      • getStackParameterAlignment

        int getStackParameterAlignment()
        Return the amount of alignment used for parameters passed on the stack, or -1 if there are no stack params
        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
      • 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
        loc - is the starting address of the range
        size - is the size of the range in bytes
        res - holds the resulting slot and slotsize
        true if the range is a possible parameter
      • isThisBeforeRetPointer

        boolean isThisBeforeRetPointer()