Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | jacob navia <jacob@spamsink.net> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Strange C developments |
| Date | 2012-07-22 12:30 +0200 |
| Organization | lccwin |
| Message-ID | <jugknh$s28$1@speranza.aioe.org> (permalink) |
| References | (2 earlier) <judvvo$3r7$1@speranza.aioe.org> <jue270$9aj$1@speranza.aioe.org> <XqydnXsdeJjVKJfNnZ2dnUVZ_uKdnZ2d@posted.internetamerica> <juenil$rtt$1@speranza.aioe.org> <4-GdnYEX7OgWNpbNnZ2dnUVZ_qydnZ2d@posted.internetamerica> |
Le 22/07/12 09:28, Gordon Burditt a écrit :
>> Le 21/07/12 15:57, Gordon Burditt a écrit :
> So, you make a rule that pointers to GC-memory must be kept in
> (a) auto variables, (you may add or exclude "register variables" here)
Registers are obviously looked for roots, so it is safe to store
pointers in registers
> (b) static or global variables,
Yes
> (c) gc_alloc()ed memory,
Yes
> (d) function arguments,
Yes
> or (e) function return values
Yes
> and they must be in their original binary form. Violating this causes
> undefined behavior.
>
Yes
>> Also, if you always keep pointers to everything never setting them to
>> NULL, and all pointers are global (or the roots are in the main()
>> function, the collector will never collect anything.
>
> Those aren't eligible for collection. I might have global root pointers
> for linked lists, but the nodes I delete out of the list won't have
> anything pointing at it. And if I need to delete the list, I can
> assign NULL then.
>
Yes. In general it is a good idea doing that even if you do not use the
collector. Suppose you do NOT set it to NULL and then (without a
collector) you free() the list. You have now a dangling pointer, that
is much WORST than a NULL pointer since many functions test for NULL but
can't test for dangling pointers.
> Do I have to set the pointer to NULL if it's stored in an auto
> variable (not in main()) and the ptr = NULL; statement would be
> immediately followed by a return statement? (Don't look at
> stack frames for functions that have already returned.)
>
No, in general set pointers to NULL when using global variables or
functions that run for very long periods of time. In short lived
functions garbage will be collectible when the function exits so it
is a slight optiization to avoid that.
BUT
Setting a pointer to NUL is such a CHEAP operation (some nanoseconds)
that setting unused pointers ALWAYS to NULL will never affect really
the performance of your program.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Strange C developments Jase Schick <nospam@nospam.com> - 2012-07-20 21:14 +0000
Re: Strange C developments Les Cargill <lcargill99@comcast.com> - 2012-07-20 18:03 -0500
Re: Strange C developments "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2012-07-20 16:03 -0700
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-21 15:11 -0700
Re: Strange C developments tom st denis <tom@iahu.ca> - 2012-08-02 06:08 -0700
Re: Strange C developments Jens Gustedt <jens.gustedt@loria.fr> - 2012-08-02 21:23 +0200
Re: Strange C developments tom st denis <tom@iahu.ca> - 2012-08-03 04:13 -0700
Re: Strange C developments Noob <root@127.0.0.1> - 2012-08-03 13:19 +0200
Re: Strange C developments Anders Wegge Keller <wegge@wegge.dk> - 2012-08-03 13:31 +0200
Re: Strange C developments Jens Gustedt <jens.gustedt@loria.fr> - 2012-08-03 23:47 +0200
Re: Strange C developments gwowen <gwowen@gmail.com> - 2012-08-03 02:20 -0700
Re: Strange C developments Rui Maciel <rui.maciel@gmail.com> - 2012-07-21 01:25 +0100
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-20 19:38 -0500
Re: Strange C developments Nobody <nobody@nowhere.com> - 2012-07-21 10:32 +0100
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-21 09:31 -0500
Re: Strange C developments Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 17:38 +0100
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-21 12:58 -0500
Re: Strange C developments Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 11:42 -0700
Re: Strange C developments Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 20:13 +0100
Re: Strange C developments Nobody <nobody@nowhere.com> - 2012-07-21 20:48 +0100
Re: Strange C developments Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 23:32 +0100
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-21 11:43 +0200
Re: Strange C developments Quentin Pope <qp19433@hotmail.NOSPAM.com> - 2012-07-21 10:23 +0000
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-21 13:01 +0200
Re: Strange C developments gordonb.y4pdz@burditt.org (Gordon Burditt) - 2012-07-21 08:57 -0500
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-21 10:40 -0500
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-21 19:03 +0200
Re: Strange C developments gordonb.5rhpu@burditt.org (Gordon Burditt) - 2012-07-22 02:08 -0500
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-22 12:32 +0200
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-22 08:26 -0500
Re: Strange C developments Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-24 01:23 -0700
Re: Strange C developments Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-24 05:36 -0700
Re: Strange C developments Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-30 02:04 -0700
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-24 09:55 -0500
Re: Strange C developments 88888 Dihedral <dihedral88888@googlemail.com> - 2012-08-02 06:44 -0700
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-08-03 08:48 -0500
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-21 19:06 +0200
Re: Strange C developments gordonb.ibds9@burditt.org (Gordon Burditt) - 2012-07-22 02:28 -0500
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-22 12:30 +0200
Re: Strange C developments Philip Lantz <prl@canterey.us> - 2012-07-24 00:58 -0700
Re: Strange C developments Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-24 01:13 -0700
Re: Strange C developments Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 05:44 -0700
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-21 15:31 -0700
Re: Strange C developments Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 16:59 -0700
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-21 23:46 -0700
Re: Strange C developments "io_x" <a@b.c.invalid> - 2012-07-22 10:37 +0200
Re: Strange C developments Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-22 03:28 -0700
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-22 09:05 -0500
Re: Strange C developments Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-24 02:10 -0700
Re: Strange C developments "io_x" <a@b.c.invalid> - 2012-07-27 20:47 +0200
Re: Strange C developments Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-30 02:09 -0700
Re: Strange C developments "BartC" <bc@freeuk.com> - 2012-07-30 13:05 +0100
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-08-03 10:45 -0500
Re: Strange C developments "io_x" <a@b.c.invalid> - 2012-07-30 16:52 +0200
Re: Strange C developments "io_x" <a@b.c.invalid> - 2012-07-30 18:26 +0200
Re: Strange C developments Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-08-03 12:12 -0700
Re: Strange C developments "BartC" <bc@freeuk.com> - 2012-08-04 12:18 +0100
Re: Strange C developments Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-08-10 09:50 +0300
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 11:19 -0700
Re: Strange C developments "io_x" <a@b.c.invalid> - 2012-09-09 12:06 +0200
Re: Strange C developments Kaz Kylheku <kaz@kylheku.com> - 2012-09-09 05:25 +0000
Re: Strange C developments Melzzzzz <mel@zzzzz.com> - 2012-07-22 02:48 +0200
Re: Strange C developments William Ahern <william@wilbur.25thandClement.com> - 2012-07-21 21:45 -0700
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-22 02:40 -0700
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-22 10:38 -0500
Re: Strange C developments William Ahern <william@wilbur.25thandClement.com> - 2012-07-21 22:38 -0700
Re: Strange C developments jacob navia <jacob@spamsink.net> - 2012-07-22 08:43 +0200
Re: Strange C developments "BartC" <bc@freeuk.com> - 2012-07-22 11:24 +0100
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-08-03 09:09 -0500
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-08-03 16:54 -0500
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-21 23:16 -0700
Re: Strange C developments Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-07-22 17:50 +0300
Re: Strange C developments BGB <cr88192@hotmail.com> - 2012-07-22 11:27 -0500
Re: Strange C developments Ike Naar <ike@iceland.freeshell.org> - 2012-07-22 20:55 +0000
Re: Strange C developments Philip Lantz <prl@canterey.us> - 2012-07-24 00:56 -0700
Re: Strange C developments Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-24 01:57 -0700
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 11:20 -0700
Re: Strange C developments Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-21 15:13 -0700
Re: Strange C developments John Bode <jfbode1029@gmail.com> - 2012-07-23 14:59 -0700
csiph-web