Simple bounds check hack

engler@AMSTERDAM.LCS.MIT.EDU (Dawson R. Engler)
Thu, 10 Mar 1994 23:36:47 GMT

          From comp.compilers

Related articles
Simple bounds check hack engler@AMSTERDAM.LCS.MIT.EDU (1994-03-10)
| List of all articles for this month |
Newsgroups: comp.compilers
From: engler@AMSTERDAM.LCS.MIT.EDU (Dawson R. Engler)
Keywords: debug
Organization: MIT Laboratory for Computer Science
Date: Thu, 10 Mar 1994 23:36:47 GMT

Many languages provide array bounds checking, typically through
an expression of the form:


(index >= 0 && index < size)


On a 2's complement machine where 'size' is non-negative this can be
easily replaced by


((unsigned)index < (unsigned)size)


saving a comparision and branch in the common case.


This optimization is simple enough that I'm embarassed to post
it, but the compilers I have looked at get it wrong ;-)


Regards,
Dawson Engler
engler@amsterdam.lcs.mit.edu
--


Post a followup to this message

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