> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Paul Gilmartin
> Sent: Tuesday, July 19, 2011 1:46 PM
> To: [email protected]
> Subject: Re: Re-entrant module stores into itself with no 0C4
> 
> On Tue, 19 Jul 2011 20:16:26 +0000, Gibney, Dave wrote:>>
> >>
> >>
> http://publib.boulder.ibm.com/infocenter/zos/v1r12/index.jsp?topic=/com.i
> bm.zos.r12.ieae200/progref.htm
> >
> >Actually, it not that I think it is no good, I think it's a long time 
> >coming. The
> problem is that I also know of at least one program (central to our batch
> processing) that exploits this "feature" :)
> >
> Relink it.

I said exploits, not tolerates. By being marked RENT, the system still only 
loads one copy. Relink and I'll quickly use up virtual memory and suffer the 
overhead of loading multiple copies. 

It's what I understand to be a fairly classic technique of the time. If an 
address is zero, load the module containing the address and fill in the 
address, otherwise just branch. If the first module happened to be refreshed, 
well, I just get another copy, or find the called module and restore the 
address. Saves overhead of searching for the called module at every call.

Yes, I could rewrite it. And yes, the avoided overhead is probably less than it 
was when the module was designed and written in 1979, and yes such "trickeses" 
are more frowned upon today.

But, this module in the pathway of a substantial percentage of our calls to 
Adabas, hasn't even burped in a couple of decades and getting permission to 
change plus resources to test properly, just ain't gonna happen.

Which I guess make me a "resistant to change" z/OS Systems Programmer. :)

> 
> I'm biased.  In our ISV development shop, we must test in the most
> restrictive environments.  REFRPROT=YES; USERKEYCSA=NO, etc.
> If IBM would tell us about dirty GETMAIN, we'd use that, too.
> 
> >So although I think it's "better" that reentrant marked modules actually be
> reentrant and might have been inclined to enforce that had I had a say in the
> mythical man month days, I don't get to just turn this on and say sorry to my
> programmers and management.
> >
> Had the designers been thinking in those days, it would have been the
> standard; never an option.  Simply, a developer screwed up and put the
> test of the AC bit in the wrong code path.  It should never have been
> sensitive to the status of the library.
> 
> -- gil
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to