dangerous optizations [avoidance of]

sjs@ctt.bellcore.com (Stan Switzer)
Mon, 12 Sep 88 13:38:23 EDT

          From comp.compilers

Related articles
dangerous optizations [avoidance of] sjs@ctt.bellcore.com (1988-09-12)
| List of all articles for this month |
Date: Mon, 12 Sep 88 13:38:23 EDT
From: sjs@ctt.bellcore.com (Stan Switzer)

Sperry (now Unisys, once Univac) has a language called PLUS. The
language had few redeeming features, but one of them was the way it
handled access to critical data.


One could declare a variable type LOCK, which produced a cell for
test-and-set locking (using either a spin-lock or queued). When you
declared critical data, you specified a LOCKED(lockcell) attribute.
Legitimate access to locked data was between "LOCK cell", and "UNLOCK
cell" statements. The optimizer then knew not only which variables
had volatile access, but also where the volitility occurred. This
allowed the optimizer to make aggressive but (in theory) correct
optimizations even in this kind of code.


Stan Switzer sjs@ctt.bellcore.com or bellcore!ctt!sjs
--


Post a followup to this message

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