Some conversion was not particularly easy. I had a senior programmer
(technical equivalent of a third line manager) in my group who had to
re-write getmain/freemain in PL/S. Talk about spaghetti code. It was
pretty much all that he could manage to do in the whole development
cycle. He spent about 3/4ths of the time analyzing logic and the
remaining quarter coding it.
Turned out that using PL/S didn't necessarily make things efficient. The
ASM code, which came from outside of Poughkeepsie (Boulder, as I
remember), suffered from several high-language programming errors:
calculations inside of loops, excessive modularization that lead to many
layers of prologue/epilog code (which included getmain and freemain of
dynamic storage areas) , use of division and multiplication by powers of
2 (where shifts would have been faster) and other things which I have
forgotten after all these years. My Poughkepsie group had to do a lot of
scrambling to recode ASM to meet our performance requirements in order
to get an acceptable page fault path length when we were doing the
system build
Mike Myers
z/OS systems programmer and consultant
Mentor Services Corporation
On 09/05/2016 12:22 PM, J R wrote:
I would agree with regard to brand new code that became the essence of MVS, eg
storage management and the paging subsystem. But there was a lot of MVT that
was included pretty much as-is. Conversion of such to PL/S was for the sake of
appearance only.
Sent from my iPhone
On Sep 5, 2016, at 11:35, Mike Myers <[email protected]> wrote:
Not true. As the technical team leader for the development of the paging
subsystem for the first release of MVS, I can attest that most of ASM, RSM and
VSM were written in PL/S (with a few exceptions). For the most part, the
GENERATE/ENDGEN approach was used for the inclusion of instructions that the
compiler would not generate (like PTLB).
Mike Myers
z.OS systems programmer and consultant
Mentor Services Corporation
On 09/03/2016 09:03 PM, J R wrote:
That may not reliably indicate "size" in lines of PL/S code. As I recall, the
vast majority of modules were migrated to PL/S by simply wrapping them in the equivalent
of:
PROC
GENERATE
<original assembler source>
ENDGEN
END
Sent from my iPhone
On Sep 3, 2016, at 20:35, Rob Schramm <[email protected]> wrote:
Maybe lines of PL/s code??
Rob Schramm
On Sat, Sep 3, 2016, 5:22 PM Mick Graley <[email protected]> wrote:
I think we're comparing apples and oranges here though. S/370
assembler (you said original MVS) ¬= C/C++ lines of code or generated
object (machine) code.
Cheers,
Mick.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN