[Info-vax] DCL Integer Overflow

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Wed Jul 12 13:28:26 EDT 2017


On 2017-07-12, VAXman-  @SendSpamHere.ORG <VAXman- at SendSpamHere.ORG> wrote:
> In article <ok570q$hnf$6 at dont-email.me>, Simon Clubley <clubley at remove_me.eisner.decus.org-Earth.UFP> writes:
>>On 2017-07-12, VAXman-  @SendSpamHere.ORG <VAXman- at SendSpamHere.ORG> wrote:
>>> I've spent years in the bowels of DCL and know very well how it works.  I
>>> wouldn't write 90% of the stuff I've seen in DCL and the other 10% is not
>>> well written DCL for what it DOES do well.  I have -- there was a thread
>>> here a year or so ago -- extended DCL with with a few more modern program-
>>> ming constructs (while, for) but it doesn't make the fact that it's read-
>>> as-it-goes interpreted any better.  Try booting VMS with my DCL debugger
>>> active and you'll soon see that inordinate amounts of time are spent just
>>> looking (scanning) for target labels -- the greatest offenders being in
>>> the network startups.  A newer scripting language won't make this aspect
>>> any better.  A Ramanujan-Sato series in ANY scripting language will take 
>>> some appreciable lifetime to converge. ;)
>>>
>>
>>And if you take a step back then perhaps the question should become
>>whether the scripting language should not be using labels in that
>>fashion and instead using more modern constructs where you know exactly
>>where you need to go to in order to perform the next iteration of
>>the loop.
>
><rolleyes>
>
> OK.  WHILE/END-WHILE FOR/NEXT will solve this?  Where's the END-WHILE? Or
> the NEXT?  YOU DO NOT KNOW until you're read through the code scanning for
> it.  

Actually I'd like to back up a step and ask a question. With your
observation above, I thought you were saying above that DCL was
scanning the code for the label every time it was referenced.

That's why I thought a structured programming language would help
because most of the time, when you continue the loop, you are jumping
directly back to the start of the loop. The interpreter already knows
the location of this because you have gone through it in order to be
able to get to where you are in the code.

But I've just remembered that I thought I once read that DCL labels
were cached somewhere once they have been found. If that's true then
I don't understand why you are seeing significant CPU time after they
have been found for the first time.

Simon.

-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world



More information about the Info-vax mailing list