Subject: | |
From: | |
Reply To: | DIRICKSON, Steve |
Date: | Fri, 16 Apr 1999 08:33:19 -0500 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
> Wondering how others determine the correct values for the
> Data-Count and Data-Length (list and data registers) on the
> DATA= part of
> the SYSTEM statement.
>
> At present we add a field to a set, then compile everything,
> then run everything, and then increase the values in any programs that
> crash. Surely someone has come up with something more
> "intelligent", maybe even a TRANSACT command we haven't heard of ...
Probably not. The problem is that the stack is completely non-deterministic.
It is code-dependent, since PERFORMed routines can add items to the stack.
But examination of the code won't answer the question either, since the
actual run-time stack layout is also data dependent; any branch that
determines the code path taken based on run-time data can result in a
different stack layout for different executions of the same code.
If you use "list(auto) SETNAME" a lot, you can tell how much those specific
verbs will increase the stack demand. If not, you can do a lot of low-level
bookkeeping.
Or you can take the easy way out: use large values for both. Bits are pretty
cheap on these machines, especially compared to the programmer time required
to try (generally unsuccessfully) to micro-manage the resources.
Steve
Steve Dirickson WestWin Consulting
[log in to unmask] (360) 598-6111
|
|
|