Re: Safe Pointers at the Intermediate Language or Hardware Level

Ivan Godard <ivan@ootbcomp.com>
Wed, 12 Feb 2014 14:19:03 -0800

          From comp.compilers

Related articles
Safe Pointers at the Intermediate Language or Hardware Level seimarao@gmail.com (2014-02-10)
Re: Safe Pointers at the Intermediate Language or Hardware Level flaps@dgp.toronto.edu (2014-02-11)
Re: Safe Pointers at the Intermediate Language or Hardware Level gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-02-11)
Re: Safe Pointers at the Intermediate Language or Hardware Level ivan@ootbcomp.com (Ivan Godard) (2014-02-10)
Re: Safe Pointers at the Intermediate Language or Hardware Level wclodius@earthlink.net (2014-02-10)
Re: Safe Pointers at the Intermediate Language or Hardware Level seimarao@gmail.com (Seima Rao) (2014-02-11)
Re: Safe Pointers at the Intermediate Language or Hardware Level ivan@ootbcomp.com (Ivan Godard) (2014-02-12)
| List of all articles for this month |

From: Ivan Godard <ivan@ootbcomp.com>
Newsgroups: comp.compilers
Date: Wed, 12 Feb 2014 14:19:03 -0800
Organization: A noiseless patient Spider
References: 14-02-012
Keywords: design, debug
Posted-Date: 13 Feb 2014 00:27:00 EST

On 2/11/2014 1:05 AM, Seima Rao wrote:
>> A safe pointer (cap) is more than 64 bits, and people would refuse
>> to repeat the pain of the 32- to 64-bit migration. And most
>> programs violate safety (and language standards, but that's another
>> issue), and it's hard to make a sale when the customers keep saying
>> "It worked on Intel!".
>
> I have a proposal of my own although, I am not sure about the cons
> and hence would like to discuss on this forum.
>
>
> i) All pointers have the same type called pointer_t.
>
> ii) A pointer_t contains the address of a struct whose contents are
> the information relevant to what the pointer is pointing to including
> the type of the element.
>
> There are a lot of questions but the one I am worried about currently
> is whether it is possible to have direct HW support.
>
> Sincerely, Seima Rao.


You can do pretty much anything in hardware. However, the indirection
through the descriptor doubles the latency cost of the dereference and
increases cache demand. Also, keeping track of the type (and if the type
in the descriptor is to be useful then you would need to decorate every
value throughout with type information) is costly, especially as the
number of possible types is unbounded.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.