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

Reply via email to