[Info-vax] How much of VMS is still in MACRO-32?
John Reagan
xyzzy1959 at gmail.com
Tue Jun 1 08:11:14 EDT 2021
On Monday, May 31, 2021 at 8:43:47 PM UTC-4, lee.g... at gmail.com wrote:
> On 5/31/2021 8:07 AM, Simon Clubley wrote:
> > On 2021-05-31, Camiel Vanderhoeven <iamc... at gmail.com> wrote:
> >> Op maandag 31 mei 2021 om 05:19:19 UTC+2 schreef Dave Froble:
> >>> I'm curious. Do you have any tools that can pinpoint all references to
> >>> a particular field or argument? If not, did you attempt to produce such
> >>> a tool?
> >>
> >> SEARCH? :-)
> >>
> >> Seriously, having the structure name repeated in each field name helps a lot with this. Consider a field simply called "id" in a structure "employee". "SEARCH *.* id" would likely turn up fields called "id" in various different structures, loose variables called "id", etc. Having that field called emp$l_id makes for a much more meaningful result from "SEARCH *.* emp$l_id".
> >>
> >> Pinpointing references to an argument to a procedure written in Macro requires following the logic, as the argument may be stored on the stack, moved to a different register, etc.
> >>
> >
> > Is there any self-modifying code in VMS ? (I hope the answer to that
> > is no, BTW. :-))
> >
> > Simon.
> >
> I haven't looked lately, but circa 4.7, lib$tparse contained self
> modifying code.
>
> --
> Lee K. Gleason N5ZMR
> Control-G Consultants
> lee.g... at comcast.net
I'm going to disagree with you. I've spent lots of time recently in LIB$TPARSE/LIB$TABLE_PARSE.
It is boring BLISS code with ugly data structures. However, it is just another routine in LIBRTL.EXE.
When I read Simon's question about "self-modifying code", I took that as code that modifies itself
during program execution. It turned into "generating code on the fly". That's a different question.
I know of a few places that generate code on the fly but nothing in OS itself.
And the comments about the varioue EVAX_ builtins to update the i-cache for generating code on
the fly (and would self modifying code) varies from target to target. Alpha has one set of instructions,
Itanium another, and x86 a different model still.
More information about the Info-vax
mailing list