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: B T

⟦04770d958⟧ TextFile

    Length: 1749 (0x6d5)
    Types: TextFile
    Names: »B«

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 Instrument;
use Instrument;

------------------------
-- Parameter Association 01
------------------------

-- This test evaluates the code efficiency of a call to a procedure
-- that has a single formal in out parameter of the formal generic type.

-- The procedure Param_Assoc is called in the test version using the
-- global variable as the actual parameter.  The global variable is
-- referenced inside the procedure through the formal parameter to ensure
-- that the required parameter passing is performed.  In the noise
-- version, the procedure Param_Assoc is parameterless and references
-- the global variable directly so that there is no parameter passing
-- overhead incurred.  Both the test and noise versions of the procedure
-- perform the same camouflaged assignment.

-- The test does not preclude the opportunity for the compiler to optimize
-- each version of the procedure call since this would not compromise
-- the code efficiency metrics.

procedure Fpaaa2 is
    package Pc_Cs is new Procs (Integer);
    use Pc_Cs;

    P_Test : Ref_T := new T'(Init);

    procedure Param_Assoc
                 (Formal : in out Ref_T)     -- included in test version
                  is
    begin

        Let (Formal.all, Ident (Formal.all)); -- included in test version
        --    Let(Global, Ident(Global));         -- included in noise version

    end Param_Assoc;

begin
    Start ("FPAAA2",
           "Formal in/out Param. Assoc. w/1 param., Access type (Test)");
    for I in 1 .. 10000 loop

        Let (Global, Ident (Init));
        Param_Assoc (P_Test);                  -- included in test version
        --  Param_Assoc;                          -- included in noise version

    end loop;
    Stop;

end Fpaaa2;