From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Generic formal access types
Date: 05 May 2003 13:34:31 -0400
Date: 2003-05-05T13:34:31-04:00 [thread overview]
Message-ID: <wcc65opfgbc.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 1ec946d1.0305050840.4a1ffd48@posting.google.com
mheaney@on2.com (Matthew Heaney) writes:
> I think a bigger problem is that the declared pointer type doesn't
> turn off the storage pool. If the designated type is T'Class, doesn't
> this drag a lot of extra run-time baggage?
I don't remember what Address_To_Access_Conversions says about pools,
and I'm too lazy to look it up. Probably nothing.
In general, an access-to-T'Class type needs to worry about finalization,
because even if T has no finalization, some extension might. I don't
think that introduces any overhead in the conversions, but a class-wide
allocator would have to check (probably at run time) whether the actual
type has any finalization, and if so, hook the object into some list of
to-be-finalized objects. Did you have anything else in mind?
In my current project, we care a lot about storage management, so we
have a coding convention: *Every* access type must have "for
T'Storage_Pool use..." to indicate which pool, or "for T'Storage_Size
use 0;" to indicate that there are no allocators for that type, or a
comment saying why we're violating this rule.
- Bob
prev parent reply other threads:[~2003-05-05 17:34 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-30 18:30 Generic formal access types
2003-04-30 19:27 ` Simon Wright
2003-05-01 8:58 `
2003-04-30 21:42 ` Chad R. Meiners
2003-05-01 9:06 `
2003-05-01 9:58 ` Martin Krischik
2003-05-01 13:00 `
2003-05-02 9:14 ` Ludovic Brenta
2003-05-02 10:43 `
2003-05-02 10:50 `
2003-05-01 10:09 `
2003-05-02 1:14 ` tmoran
2003-05-02 9:52 `
2003-05-02 16:18 ` tmoran
2003-05-02 16:57 ` Robert A Duff
2003-05-02 19:39 ` Randy Brukardt
2003-05-05 8:14 `
2003-05-05 16:40 ` Matthew Heaney
2003-05-05 17:34 ` Robert A Duff [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox