That's what I've been wondering.   If, as in 99.99% of the cases, a REFR
module does *not* modify itself, then ASM/RSM will know that when it
matters, and will *not* page it out (after the first time).  Logically, it
would seem REFR would imply that OK, I know I've diddled myself, but it's
OK, no need to page me out.  And that is nonsense.

z/OS (and ancestors) already decided RENT means a module can be loaded into
non-modifiable storage, so what is the point of REFR anyway?

They should have made the (or an) attribute NMOD, so there wouldn't be any
need for endless discussion of what reentrant and refreshable really mean,
practically and technically.  And yes, technically, both can be implemented
in a self-modifying program, given certain constraints.  But practically,
RENT or REFR modules at least some times are prevented from being modified.

And technically, a non-self-modifying program can be made non-reentrant...
I've seen it happen by accident.  A "clever" programmer used a common
global area for a few non-global variables, leading to the
all-too-predictable unpredictable results when you screw up multi-tasking.

sas

On Mon, Feb 8, 2021 at 4:32 PM Binyamin Dissen <bdis...@dissensoftware.com>
wrote:

> ...
> In other words, does REFR mean anything to the OS other than the
> possibility
> of loading the module into page protected storage?
>
>

----------------------------------------------------------------------
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