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

⟦c2f2c2c41⟧ TextFile

    Length: 1715 (0x6b3)
    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 Fpana1 is
    package Pc_Cs is new Procs (Integer);
    use Pc_Cs;

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

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

    end Param_Assoc;

begin
    Start ("FPANA1",
           "Formal in/out Param. Assoc. w/1 param., Non-access type (Control)");
    for I in 1 .. 10000 loop

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

    end loop;
    Stop;

end Fpana1;