"SMPE can only track dependencies it has been told about. Somehow they 
 need to be tracked prior to that so they can be added to the SMPE packaging."

The information that you need to construct the SMP packaging you also need to 
avoid breaking the build.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@listserv.ua.edu> on behalf of 
Andrew Rowley <and...@blackhillsoftware.com>
Sent: Thursday, December 7, 2017 5:57 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: SFTP

On 8/12/2017 7:35 AM, Seymour J Metz wrote:
> WTF? The whole point of SMP is that *SMP* tracks dependencies.
SMPE can only track dependencies it has been told about. Somehow they
need to be tracked prior to that so they can be added to the SMPE packaging.

> It's trivial to take interface changes into account. Of course, that5 takes 
> proper packaging, but you don't blame the hammer when someone uses it do 
> drive in a screw. CVS, git, SMP, subversion, etc., are not magic bullets and 
> should not be judged based on how people who don't understand them might 
> misuse them.
>
>
> The same bookkeeping needed to avoid a bad build gives you the information 
> that you need for SMP packaging.
It's not that simple. The compiler can do stuff that the builder knows
nothing about.

e.g. you have module A, called by module B, C and D.

The compiler can take functions from module A, and to save the overhead
of a function call it can inline pieces of code from A into B, C and D.

Then you make an internal change to A. No code changes to B, C and D.
However, maybe the changes mean the code can no longer be inlined into
other modules. So you only changed A, but also need to ship B, C, D.
It's also possible that the changes to B, C, D also affected other
modules that call them (e.g. maybe they inlined the B code that inlined
the A code).

Maybe you then make a seemingly unrelated change to module F, but that
affects the compiler heuristics about what should be inlined (e.g.
module size) and inlining of A, B, C, D changes again.

To develop correct SMP requisites you need to know not only what you
changed, but also track whether any other related modules have
consequential changes to the *output* from the compiler - not just their
source code.

--
Andrew Rowley
Black Hill Software

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to