DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T V

⟦651f2d2d4⟧ TextFile

    Length: 4553 (0x11c9)
    Types: TextFile
    Names: »V«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

with Type_Definitions;
use Type_Definitions;
with String_Pkg;
use String_Pkg;
with Dynamic_Array_Pkg;
use Dynamic_Array_Pkg;
package Breakpoint is

    --| overview
    --| Breakpoint is a package containing all of the common procedures to be
    --| used by the report writer for the path analyzer. This package is used
    --| to keep a running record of breakpoints encountered via an execution
    --| count for each breakpoint in a given unit. This information is utilized
    --| by the report writer for the path analyzer.

    --| raises
    --| No user defined exceptions are raised during package initialization.

    --| effects
    --| package initialization has no effect on outside and/or "withing" units.

    --| n/a  requires,errors,tuning,notes




    type Breakpoint_Information;
    type Table_Access is access Breakpoint_Information;

    type Breakpoint_Information is
        record
            Unit_Name : Ada_Name;
            Execution_Count : Darray;
        end record;



    procedure Initialize_Breakpoints
                 ( --| add entry to table
                  Unit_Name : in Ada_Name;
                  --| name of library unit
                  Number_Of_Breakpoints : in Breakpoint_Number_Range
                  --| number of brkpts in library unit
                  );
    --| overview
    --| Adds an entry to the table for the current library unit, in which to
    --| store the execution count data.

    --| effects
    --| The table is searched for the current library unit,
    --| if it is not found, an entry is added for each breakpoint in the
    --| current library unit.
    --| The total execution count for each breakpoint is initialized to 0.

    --| modifies
    --| The internal Breakpoint_Information Data structure is modified if
    --| the current unit is not found.


    --| n/a
    --| errors, raises, requires

    procedure Break ( --| called at each breakpoint
                     Unit_Name : in Ada_Name;     --| procedure name
                     Breakpoint_Number : in Breakpoint_Number_Range
                     --| breakpoint number
                     );
    --| overview
    --| Increments the execution count for the current breakpoint.

    --| effects
    --| Break increments the execution count for Breakpoint_Number in
    --| the unit Unit_Name.

    --| requires
    --| Initialize_Breakpoints must be called for the Unit_Name prior
    --| to calling Break.

    --| modifies
    --| The Execution_Count is modified for the given Breakpoint_Number


    --| errors
    --| The unit name can't be found in the table

    --| raises Unit_Name_Not_Found

    --| n/a tuning,notes


    procedure Dump ( --| dump totals to logfile

                    Breakpoint_Table_Access : in out Table_Access;
                    --|unit name, breakpoints and counts
                    More_Units_Available : out Boolean
                    --|false if all units have been dumped
                    );

    --| overview
    --| Dump is called to list execution count totals.
    --| Dump should be be used by any tool that requires total execution
    --| counts for each breakpoint. Each invocation of Dump will return
    --| information for only one compilation unit. When all compilation unit
    --| information has been dumped, more_Units_Available will assume a false
    --| value.

    --| effects
    --| A unit name and breakpoint Execution_Count data is returned to the
    --| calling unit. The internal storage space for that Unit_Information is
    --| then released. This does not affect the data returned to the user of
    --| this procedure. Upon encountering the last piece of Unit_Information,
    --| the boolean More_Units_Available is set to false. If a calling program
    --| invokes this procedure after the boolean More_Units_Available is set to
    --| false, the exeception No_Units_Available will be raised.

    --| modifies
    --| Breakpoint_Table_Access, More_Units_Available, Internal Unit_Information
    --| storage.

    --| errors
    --| If a calling program invokes the procedure after the boolean
    --| More_Units_Available has been set to false, an exception will
    --| be raised (No_Units_Available).

    --| raises No_Units_Available


    --| n/a
    --| tuning,notes,requires


    Unit_Name_Not_Found : exception;  --|raised when break is called with an
    --|uninitialized unit name.

    No_Units_Available : exception;  --|raised when dump is called and no
    --|breakpoint information is available.

end Breakpoint;