Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #91694

Re: Extending C with GC?

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Extending C with GC?
Date 2016-08-04 16:50 -0700
Organization None to speak of
Message-ID <lnmvksytzb.fsf@kst-u.example.com> (permalink)
References (2 earlier) <lnwpjx1obh.fsf@kst-u.example.com> <kfnvazgil16.fsf@x-alumni2.alumni.caltech.edu> <ef8cdc4a-bca2-443e-93d7-3e94a78c15f1@googlegroups.com> <lnd1lo1gd4.fsf@kst-u.example.com> <02caff7d-863c-4de0-a849-6a4289a1eac3@googlegroups.com>

Show all headers | View raw


supercat@casperkitty.com writes:
> On Thursday, August 4, 2016 at 2:30:58 PM UTC-5, Keith Thompson wrote:
>> supercat writes:
>> > A slight variation on the above, which would bring things closer to full
>> > conformance, would require that sizeof(any pointer) be equal to 1, but
>> > type "char" would be capable of holding either a number or a pointer,
>> > with a "hidden" bit that identified which it held.  Using any arithmetic
>> > operator on a "char" value would clear the "is a pointer" bit, and there
>> > would be no means via which user code could set that bit except via
>> > operations that yield validated pointers.
>> 
>> You suggest (for this subset) requiring all pointers to have a size of 1
>> bytes, and type `char` to be able to hold a pointer?  Why `char`?  Why
>> not, say, `uintptr_t` (with whatever size it happens to have, typically
>> 4 or 8)?
>
> Suppose one stores a bunch of pointers is a malloc'ed region and then
> arbitrarily rearranges all the unsigned char values within that region.
> If each "unsigned char" is large enough to hold an entire pointer, then
> the pointers would remain identifiable even after being scrambled.  If
> the "unsigned char" values aren't big enough to hold pointers, I'm see
> no practical way via which an implementation could identify which parts
> of which pointers belonged together.

Nor do I.  But IMHO the solution is either (a) use a language other
than C that doesn't let you scramble pointer values like that (or
at least that doesn't expect them to remain as valid pointers after
you unscramble them), or (b) don't scramble pointers like that and
expect GC to continue to work.

Even if your proposal solved the problems, I think it's massive
overkill.  You might as well define a new language and not call it C.
(Allowing sizeof (void*) == 1 is compatible with C as it now exists;
requiring it is not, and is certainly not compatible with most
current C implementations.)

If your point is that this is the kind of language change you'd
have to make GC work 100% reliably with C, then it's still not
enough.  You can scramble the bits making up the representation
of the pointers as easily as you can scramble the bytes; see the
doubly-linked list xor trick discussed here recently.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Extending C with GC? luser droog <luser.droog@gmail.com> - 2016-07-31 15:31 -0700
  Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-07-31 15:52 -0700
    Re: Extending C with GC? Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 17:21 -0700
    Re: Extending C with GC? Jean-Marc Bourguet <jm@bourguet.org> - 2016-08-01 20:34 +0200
      Re: Extending C with GC? supercat@casperkitty.com - 2016-08-01 12:14 -0700
      Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-01 12:46 -0700
        Re: Extending C with GC? "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-01 15:56 -0400
          Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-01 14:28 -0700
        Re: Extending C with GC? Jean-Marc Bourguet <jm@bourguet.org> - 2016-08-01 23:37 +0200
          Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-01 15:03 -0700
          Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-02 00:11 +0200
            Re: Extending C with GC? "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-01 18:19 -0400
              Re: Extending C with GC? BGB <cr88192@hotmail.com> - 2016-08-02 12:46 -0500
    Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-03 15:26 -0700
      Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-03 15:49 -0700
        Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-04 14:07 +1200
          Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-03 19:26 -0700
            Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-04 14:55 +1200
          Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-03 20:38 -0700
            Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-04 05:10 -0700
              Re: Extending C with GC? Siri Cruise <chine.bleu@yahoo.com> - 2016-08-04 05:57 -0700
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-04 06:13 -0700
              Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-05 07:24 +1200
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-04 12:47 -0700
                Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-04 23:32 -0700
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-05 10:09 +0100
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-05 20:32 +1200
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-05 06:14 -0700
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 04:14 -0700
                Re: Extending C with GC? Melzzzzz <mel@zzzzz.com> - 2016-08-06 13:23 +0200
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 04:38 -0700
                Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-06 04:34 -0700
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 05:28 -0700
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 06:05 -0700
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 06:12 -0700
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-06 14:02 +0100
                Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-06 06:11 -0700
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-06 14:50 +0100
                Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-06 07:57 -0700
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-06 17:02 +0100
                Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-06 19:20 +0200
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-06 14:27 +0100
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-06 14:45 +0100
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 09:59 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-06 19:38 +0100
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 17:03 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 09:54 +0100
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-07 21:53 +1200
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 11:34 +0100
                Re: Extending C with GC? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-07 12:06 +0000
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-07 14:10 +0100
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 15:38 +0100
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-07 14:32 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 23:44 +0100
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-07 16:12 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 01:42 +0100
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-07 18:56 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 10:20 +0100
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-08 09:39 -0700
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-08 02:30 +0100
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 20:15 +0100
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-08 01:24 +0100
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 02:08 +0100
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-07 18:49 -0700
                Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-08 03:28 +0100
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 12:14 +0100
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 07:37 +1200
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 20:56 +0100
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 08:11 +1200
                Re: Extending C with GC? Melzzzzz <mel@zzzzz.com> - 2016-08-07 22:19 +0200
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 22:23 +0100
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-07 14:29 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-07 22:36 +0100
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-07 15:04 -0700
                Re: Extending C with GC? jameskuyper@verizon.net - 2016-08-07 15:19 -0700
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 00:04 +0100
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-07 16:20 -0700
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 15:21 +1200
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 10:35 +0100
                Re: Extending C with GC? Gareth Owen <gwowen@gmail.com> - 2016-08-08 18:13 +0100
                Re: Extending C with GC? supercat@casperkitty.com - 2016-08-08 11:53 -0700
                Re: Extending C with GC? raltbos@xs4all.nl (Richard Bos) - 2016-08-10 12:58 +0000
                Re: Extending C with GC? supercat@casperkitty.com - 2016-08-10 07:05 -0700
                Re: Extending C with GC? Ken Brody <kenbrody@spamcop.net> - 2016-08-10 12:29 -0400
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 21:15 +0100
                Re: Extending C with GC? supercat@casperkitty.com - 2016-08-08 08:57 -0700
                Re: Extending C with GC? luser droog <luser.droog@gmail.com> - 2016-08-07 15:37 -0700
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-07 14:58 -0700
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 15:26 +1200
                Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-08 10:26 +0200
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 21:13 +1200
                Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-08 10:41 +0100
                Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-08 12:00 +0200
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 22:07 +1200
                Re: Extending C with GC? David Brown <david.brown@hesbynett.no> - 2016-08-08 12:57 +0200
                Re: Extending C with GC? Gareth Owen <gwowen@gmail.com> - 2016-08-08 18:12 +0100
                Re: Extending C with GC? Ian Collins <ian-news@hotmail.com> - 2016-08-08 21:25 +1200
                Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-08 02:57 -0700
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-07 13:28 -0700
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-07 05:42 -0700
                Re: Extending C with GC? Florian Weimer <fw@deneb.enyo.de> - 2016-08-07 11:49 +0200
                Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-06 19:18 +0200
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-06 12:35 -0700
                Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-06 19:27 +0200
                Re: Extending C with GC? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-08-06 10:55 -0700
                Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-06 12:31 -0700
      Re: Extending C with GC? James Kuyper <jameskuyper@verizon.net> - 2016-08-03 22:36 -0400
        Re: Extending C with GC? David Brown <david.brown@hesbynett.no> - 2016-08-04 10:57 +0200
          Re: Extending C with GC? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-04 04:09 -0700
            Re: Extending C with GC? David Brown <david.brown@hesbynett.no> - 2016-08-04 14:01 +0200
        Re: Extending C with GC? supercat@casperkitty.com - 2016-08-04 07:52 -0700
      Re: Extending C with GC? Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-04 08:57 -0700
        Re: Extending C with GC? supercat@casperkitty.com - 2016-08-04 09:19 -0700
          Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-04 12:30 -0700
            Re: Extending C with GC? supercat@casperkitty.com - 2016-08-04 15:21 -0700
              Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-04 16:50 -0700
                Re: Extending C with GC? supercat@casperkitty.com - 2016-08-05 07:31 -0700
          Re: Extending C with GC? Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 16:01 -0700
        Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-04 21:00 +0200
          Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-04 20:26 +0100
            Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-05 10:37 +0200
              Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-05 15:52 +0100
              Re: Extending C with GC? antispam@math.uni.wroc.pl - 2016-08-21 00:09 +0000
                Re: Extending C with GC? Gareth Owen <gwowen@gmail.com> - 2016-08-21 08:58 +0100
                Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-21 10:48 +0200
                Re: Extending C with GC? "Pascal J. Bourguignon" <pjb@informatimago.com> - 2016-08-21 19:58 +0200
                Re: Extending C with GC? supercat@casperkitty.com - 2016-08-22 08:46 -0700
                Re: Extending C with GC? Öö Tiib <ootiib@hot.ee> - 2016-08-26 02:24 -0700
                Re: Extending C with GC? supercat@casperkitty.com - 2016-08-26 13:37 -0700
                Re: Extending C with GC? Melzzzzz <mel@zzzzz.com> - 2016-08-27 00:41 +0200
                Re: Extending C with GC? Öö Tiib <ootiib@hot.ee> - 2016-08-28 06:12 -0700
            Re: Extending C with GC? BartC <bc@freeuk.com> - 2016-08-05 10:06 +0100
              Re: Extending C with GC? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-05 15:26 +0100
          Re: Extending C with GC? Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 08:11 -0700
            Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-05 17:43 +0200
              Re: Extending C with GC? Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 15:28 -0700
        Re: Extending C with GC? BGB <cr88192@hotmail.com> - 2016-08-04 17:11 -0500
  Re: Extending C with GC? Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 17:35 -0700
  Re: Extending C with GC? jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-01 07:45 +0200
    Re: Extending C with GC? Keith Thompson <kst-u@mib.org> - 2016-08-01 08:49 -0700
    Re: Extending C with GC? supercat@casperkitty.com - 2016-08-01 09:06 -0700
      Re: Extending C with GC? Aleksandar Kuktin <akuktin@gmail.com> - 2016-08-05 18:11 +0000
        Re: Extending C with GC? luser droog <luser.droog@gmail.com> - 2016-08-05 11:24 -0700
  Re: Extending C with GC? "Chris M. Thomasson" <invalid@invalid.invalid> - 2016-08-08 22:12 -0700

csiph-web