Shmuel Metz (Seymour J.) wrote:
In 4b8389b7.9030...@gmail.com, on 02/23/2010
at 03:54 PM, David Crayford dcrayf...@gmail.com said:
You're fundamentally not reentrant if you use any kind of global data.
Nonsense. You're reentrant as long as you ensure that concurrent access
doesn't
--snip---
If you've ever done list processing, CONTROLLED storage is the cat's
meow. Beats the Dickens out of trying to maintain arrays and array
counters, especially if there's a chance of exceeding the size of the
arrays. ...
How is
In 4b86718e.3070...@gmail.com, on 02/25/2010
at 08:48 PM, David Crayford dcrayf...@gmail.com said:
Since your talking about concurrency let's take the C global errno as an
example. Not too crash hot when
it comes to multi-threaded programs. That's where TLS (thread local
storage) comes to
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of john gilmore
Sent: Tuesday, February 23, 2010 1:02 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from
C/C++
Snipped
The absence
In a6b9336cdb62bb46b9f8708e686a7ea005bde01...@nrhmms8p02.uicnrh.dom, on
02/22/2010
at 12:15 PM, McKown, John john.mck...@healthmarkets.com said:
There is a very old, very terrible technique that I used long ago. I
mention it, but do not recommend it. From the currently executing TCB,
find the
In 4b8389b7.9030...@gmail.com, on 02/23/2010
at 03:54 PM, David Crayford dcrayf...@gmail.com said:
You're fundamentally not reentrant if you use any kind of global data.
Nonsense. You're reentrant as long as you ensure that concurrent access
doesn't cause incorrect results. The simplest
In listserv%201002221028079631.0...@bama.ua.edu, on 02/22/2010
at 10:28 AM, Paul Gilmartin paulgboul...@aim.com said:
Only if you're not authorized.
When did that form of IDENTIFY start requiring APF authorization?
I agree that the overhead might be higher with IDENTIFY.
--
Shmuel
In 053f2631ec9c584883847c8b4970a22806287...@josqems1.jsq.bsg.ad.adp.com,
on 02/24/2010
at 11:57 AM, Farley, Peter x23353 peter.far...@broadridge.com said:
OK, I'll bite. What is/was the intended purpose of controlled storage?
Stack.
but at that time I couldn't really see what the
In 022901cab4a7$a821dc90$f86595...@org, on 02/23/2010
at 08:45 AM, Charles Mills charl...@mcn.org said:
FOO DXD F
BAR DC Q(FOO)
does that give me a fullword that will be task-unique at run time?
No. But if in the same load module you do the above and Joe does
MYFOO DXD A
MYBAR DC
In 00ab01cab3d9$9d328790$d79796...@org, on 02/22/2010
at 08:10 AM, Charles Mills charl...@mcn.org said:
IDENTIFY is an interesting idea. I would suspect lower overhead than
name/token. But can you IDENTIFY an address in GETMAIN storage?
Yes.
have to be inside a real load module?
No.
--
snip---
OK, I'll bite. What is/was the intended purpose of controlled storage? I
remember when I first was learning PL/1 (too many moons ago to count)
being fascinated by it, but at that time I couldn't really see what the
On Wed, 24 Feb 2010 16:29:52 -0500, Shmuel Metz (Seymour J.) wrote:
then BAR and MYVAR will have different contents. In really old PL/I
compilers IBM put the Q-cons in the offset fields of instructions,
limiting the PRV to 4096 bytes.
That's why there's a 12-bit (IIRC) RLD!
-- gil
On Wed, 24 Feb 2010 16:55:22 -0600, Rick Fochtman wrote:
If you've ever done list processing, CONTROLLED storage is the cat's
meow. Beats the Dickens out of trying to maintain arrays and array
counters, especially if there's a chance of exceeding the size of the
arrays. ...
How is CONTROLLED
Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
:Of Shmuel Metz (Seymour J.)
:Sent: Monday, February 22, 2010 8:35 AM
:To: IBM-MAIN@bama.ua.edu
:Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
:In 003c01cab362$c950c0c0$5bf242...@org, on 02/21/2010
In article 4b8389b7.9030...@gmail.com you wrote:
Charles Mills wrote:
The fundamental problem I guess is that any solution that keeps a pointer
around somewhere in the code is fundamentally not reentrant, unless I can
figure out how to utilize pseudo-registers. I've heard the term
On Tue, Feb 23, 2010 at 12:07 PM, Don Poitras poit...@pobox.com wrote:
In article 4b8389b7.9030...@gmail.com you wrote:
Charles Mills wrote:
The fundamental problem I guess is that any solution that keeps a
pointer
around somewhere in the code is fundamentally not reentrant, unless I
Of David Crayford
Sent: Monday, February 22, 2010 11:49 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
Charles Mills wrote:
__malloc24 were intended to be used by LP64 callers
Does that make any sense? Only a 64 bit user would want
Don Poitras wrote:
In article 4b8389b7.9030...@gmail.com you wrote:
Charles Mills wrote:
The fundamental problem I guess is that any solution that keeps a pointer
around somewhere in the code is fundamentally not reentrant, unless I can
figure out how to utilize pseudo-registers. I've heard
Charles,
Have you looked at the ALL31(OFF) LE option?
I don't know how it works for C/C++ but for Cobol this option instructs
LE to allocate the COBOL EXTERNAL data in storage below the line. Which
means if a main program defines an EXTERNAL variable it will be below
the line AND accessible by
In article 4e2421a41002230531i1d252a29n484a6c323ae9b...@mail.gmail.com you
wrote:
On Tue, Feb 23, 2010 at 12:07 PM, Don Poitras poit...@pobox.com wrote:
In article 4b8389b7.9030...@gmail.com you wrote:
Charles Mills wrote:
The fundamental problem I guess is that any solution that
they are baseless. You don't sell software by arguing
with the prospects.)
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Don Poitras
Sent: Tuesday, February 23, 2010 8:22 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage
will give you the offset
to the entire DSECT within the gotten storage.
Date: Tue, 23 Feb 2010 08:45:49 -0800
From: charl...@mcn.org
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
To: IBM-MAIN@bama.ua.edu
Let me come right out and say I am asking
You will need several DXDs and a single CXD.
This machinery was devised originally for PL/I, but its use outside PL/I is
fully supported by both the HLASM and the Linker.
That said, the best documentation for it is in the old PL/I Optimizing Compiler
manuals. (The PL/I Optimizing
.
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of john gilmore
Sent: Tuesday, February 23, 2010 10:02 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
You will need several
...@bama.ua.edu] On Behalf
Of J R
Sent: Tuesday, February 23, 2010 9:55 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
I used pseudo registers extensively a long, long time ago,
but not recently so I'm very rusty on it. However, I think
you also need
On Tue, 23 Feb 2010 18:01:57 +, john gilmore wrote:
If you can get your hands on either an old Program Logic Manual,
usually referred by its obvious acronym, as a PLM, or only a little
less satisfactory, an old Execution Logic Manual, usually referred
to for consistency as just an EL, for
?
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of J R
Sent: Tuesday, February 23, 2010 9:55 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
I used pseudo registers
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of Charles Mills
Sent: Tuesday, February 23, 2010 1:39 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from
C/C++
Snipped
Let me repeat
] On Behalf
Of J R
Sent: Tuesday, February 23, 2010 11:04 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
or using the word zero of the first save area solution.
I know you said you didn't want to keep the DCB open across
calls
On 23 February 2010 13:38, Charles Mills charl...@mcn.org wrote:
I kind of get pseudoregisters I think. The idea is that you can write a
bunch of disjoint DSECTs and the compilers and binder will essentially
assemble them all into one big area, and tell you at run time the total size
(in a
David, what's the name/location of the IBM C/C++ forum? Thanks!
--
Regards, Gord Tomlin
Action Software International
(a division of Mazda Computer Corporation)
Tel: (905) 470-7113, Fax: (905) 470-6507
David Crayford wrote:
They did. The C/C++ runtime library reference clearly states LP64.
PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On 23 February 2010 13:38, Charles Mills charl...@mcn.org wrote:
I guess the fundamental question is this: will something outside of my
code
give me that one task-unique word? I am beginning
Harminc
Sent: Tuesday, February 23, 2010 2:54 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On 23 February 2010 13:38, Charles Mills charl...@mcn.org wrote:
I kind of get pseudoregisters I think. The idea is that you can write a
bunch
On Tue, 23 Feb 2010 18:01:57 +, john gilmore wrote:
You will need several DXDs and a single CXD.
...
The absence of this facility from C--Dennis Ritchie did not understand what
controlled storage was for--is the reason for all the ugliness of multiple
copies of writable static in C.
It
On Sun, 21 Feb 2010 18:00:19 -0800 Charles Mills charl...@mcn.org wrote:
:I'm writing a fairly large MVS batch application in C++. At several points
:it is necessary to call library type routines that I am writing in
:assembler. Several of the routines (unfortunately) need to use QSAM macros
:and
.)
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Binyamin Dissen
Sent: Monday, February 22, 2010 12:07 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On Sun, 21 Feb 2010 18:00:19
, 2010 11:13 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On Mon, Feb 22, 2010 at 5:07 AM, Charles Mills charl...@mcn.org wrote:
Thanks. Sounds a little risky to assume I am the first/only program in the
region -- the jobstep program
: Re: Best practice for 24-bit storage in assembler called from C/C++
:On Sun, 21 Feb 2010 18:00:19 -0800 Charles Mills charl...@mcn.org wrote:
::I'm writing a fairly large MVS batch application in C++. At several points
::it is necessary to call library type routines that I am writing
: Best practice for 24-bit storage in assembler called from
C/C++
On Mon, Feb 22, 2010 at 5:07 AM, Charles Mills charl...@mcn.org wrote:
Thanks. Sounds a little risky to assume I am the first/only program in
the
region -- the jobstep program -- but it's an idea.
It is at the TCB level
in an e-mail.
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Binyamin Dissen
Sent: Monday, February 22, 2010 6:24 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On Mon, 22
Charles,
We have been doing C++/assembler mixed development for some time
(JZOS, Co:Z), and here are some lessons that we learned:
1) 24-bit storage is a pain (there's not even a malloc24 in the C
library that works if you are in AMODE31.)
We normally allocate a pointer to 24-bit storage in an
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of Charles Mills
Sent: Sunday, February 21, 2010 8:00 PM
To: IBM-MAIN@bama.ua.edu
Subject: Best practice for 24-bit storage in assembler called from C/C++
I'm writing a fairly large MVS batch
Of Thompson, Steve
Sent: Monday, February 22, 2010 7:31 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
...
Otherwise, you can get the storage from your assembler routine, and then
have it IDENTIFY that storage so that you can find it again
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of Charles Mills
Sent: Monday, February 22, 2010 10:11 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from
C/C++
IDENTIFY is an interesting idea. I
On Mon, 22 Feb 2010 08:10:55 -0800, Charles Mills wrote:
IDENTIFY is an interesting idea. I would suspect lower overhead than
name/token. But can you IDENTIFY an address in GETMAIN storage? Doesn't it
have to be inside a real load module?
Only if you're not authorized. (No good reason.)
Or,
Of Charles Mills
Sent: Sunday, February 21, 2010 8:00 PM
To: IBM-MAIN@bama.ua.edu
Subject: Best practice for 24-bit storage in assembler called from C/C++
I'm writing a fairly large MVS batch application in C++. At several
points
it is necessary to call library type routines that I am writing
Charles Mills wrote:
I know that very well, but that wasn't the question. The question was is
name/token create/retrieve better performing than GETMAIN/FREEMAIN (or
STORAGE OBTAIN/RELEASE)?
Name/Token retrieve is quite fast. Name/Token create and delete are far
less so.
--
Edward E Jaffe
been asking here.
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Paul Gilmartin
Sent: Monday, February 22, 2010 8:28 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On Mon, 22
storage in assembler called from C/C++
I think we're getting a lot of suggestions as if this were some system
service. Name/token, CDE lookups and such are fine if you need to
bootstrap yourself from some unknown state. The description of this
program is just batch. Save the address in an external
from the
rest of your control block.
Date: Mon, 22 Feb 2010 09:04:18 -0800
From: charl...@mcn.org
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
To: IBM-MAIN@bama.ua.edu
Only if you're not authorized. (No good reason.)
I really want to run non
There is a very old, very terrible technique that I used long ago. I mention
it, but do not recommend it. From the currently executing TCB, find the job
step TCB (JSTCB). Pick up the TCBFSA pointer from that TCB, which is a pointer
to the first save area. Use the word at offset +0 to hold your
In 003c01cab362$c950c0c0$5bf242...@org, on 02/21/2010
at 06:00 PM, Charles Mills charl...@mcn.org said:
Subject: Best practice for 24-bit storage in assembler called from C/C++
Best practice is for new code to be refreshable and reentrant.
I'm writing a fairly large MVS batch application
-bit storage in assembler called from C/C++
In 003c01cab362$c950c0c0$5bf242...@org, on 02/21/2010
at 06:00 PM, Charles Mills charl...@mcn.org said:
Subject: Best practice for 24-bit storage in assembler called from C/C++
Best practice is for new code to be refreshable and reentrant.
I'm writing
On 21 February 2010 21:00, Charles Mills charl...@mcn.org wrote:
I'm writing a fairly large MVS batch application in C++. At several points
it is necessary to call library type routines that I am writing in
assembler. Several of the routines (unfortunately) need to use QSAM macros
and so need
to write an assembler GETMAIN routine, but still ...
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Tony Harminc
Sent: Monday, February 22, 2010 5:54 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage
, this is overkill.
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of Tony Harminc
Sent: Monday, February 22, 2010 5:54 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C
Of Don Poitras
Sent: Monday, February 22, 2010 7:37 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
[mailto:ibm-m...@bama.ua.edu] On Behalf
Of Don Poitras
Sent: Monday, February 22, 2010 7:37 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
--
For IBM-MAIN subscribe / signoff
-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
On 21 February 2010 21:00, Charles Mills charl...@mcn.org wrote:
I'm writing a fairly large MVS batch application in C++. At several points
it is necessary to call library type routines that I am writing
I'm writing a fairly large MVS batch application in C++. At several points
it is necessary to call library type routines that I am writing in
assembler. Several of the routines (unfortunately) need to use QSAM macros
and so need below-the-line storage.
Obviously I could do a GETMAIN or STORAGE
I would write the routines with init/term (Constructors/Destructors)
functions that allocate and free resources. Have the
init return a handle that you pass to the process/term functions,
usually just an address of a control block. Think of stdio
fopen(), fclose(), fread() etc socket functions
On Mon, Feb 22, 2010 at 2:00 AM, Charles Mills charl...@mcn.org wrote:
I'm writing a fairly large MVS batch application in C++. At several points
it is necessary to call library type routines that I am writing in
assembler. Several of the routines (unfortunately) need to use QSAM macros
and
Thanks. Sounds a little risky to assume I am the first/only program in the
region -- the jobstep program -- but it's an idea.
There are provisions for using QSAM in 31 bit mode.
You mean AMODE 31? Yes, I'm real familiar with that.
So far as I know DCB must reside in 24-bit storage. So long as
Of David Crayford
Sent: Sunday, February 21, 2010 7:54 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
I would write the routines with init/term (Constructors/Destructors)
functions that allocate and free resources. Have the
init return
of assembler.
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf
Of David Crayford
Sent: Sunday, February 21, 2010 7:54 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Best practice for 24-bit storage in assembler called from C/C++
I would
On Mon, Feb 22, 2010 at 5:07 AM, Charles Mills charl...@mcn.org wrote:
Thanks. Sounds a little risky to assume I am the first/only program in the
region -- the jobstep program -- but it's an idea.
It is at the TCB level. It is not required to be the jobstep program or
TCB. I can understand
66 matches
Mail list logo