Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: flaps@dgp.toronto.edu (Alan J Rosenthal) Newsgroups: comp.compilers Subject: Re: Safe Pointers at the Intermediate Language or Hardware Level Date: 11 Feb 2014 00:58:43 GMT Organization: Compilers Central Lines: 8 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-02-008@comp.compilers> References: <14-02-007@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: miucha.iecc.com 1392097240 63627 64.57.183.58 (11 Feb 2014 05:40:40 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Tue, 11 Feb 2014 05:40:40 +0000 (UTC) Keywords: design, C, comment Posted-Date: 11 Feb 2014 00:40:40 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1087 I liked the "Saber C" C interpreter a few decades ago. It had what I think you are calling "safe pointers". They had a paper at Usenix in I think the very-late 1980s, but in a nutshell, every pointer value contained three addresses: the actual address value, the lowest you were allowed to go with that pointer value, and the highest you were allowed to go. [Worked great, but it was an interpreter. -John]