Java Reference
In-Depth Information
/
Called from Marker 102
/
procedure
rename
( V )
stack
new stack()
108
version
0
109
call
rename
H
elper
( Start , V )
end
procedure
rename
H
elper
( X , V )
foreach use X . getOrdinaryUses( V ) do
call use . replaceName( stack . getTOS( ) )
110
if X . containsDef( V )
then
def X . getDef( V )
call def . replaceName( version )
version version +
111
1
call stack . push( def )
foreach ( X , Y )
∈E cf do
if Y . containsPhi( V )
then
phiUse Y . getPhiUse( V , X )
call phiUse . replaceName( stack . getTOS( ) )
112
foreach C X . getDomChildren() do
call
113
rename
H
elper
( C , V )
if X . containsDef( V )
then call stack . pop()
end
114
Figure 14.67: Algorithm to rename variables.
 
Search WWH ::




Custom Search