Next: 6 The GAMA
Up: 5 The code generator
Previous: 5.17 The builtinsis_primitive
The idea of Y-variable scoreboarding is to safe memory bandwidth by
remembering which Y-variable was already loaded into an X-register.
Every time a Y-variable is
`touched', the corresponding X-register is saved as a pair
(Y-variable X-register) on an assoc-list named y-x-usage-list, which is
a global variable meaning that the Y-variable can also be found in an
X-register.
The following functions are dealing with Y-variable scoreboarding:
- (is-y-in-x y-vari y-x-usage-list)
This function associates the Y-variable with its X-argument position.
If the Y-variable is not in an X-register, the result is nil. - (add-y-x-list y-vari x-reg y-x-usage-list)
This function adds a (Y-variable X-register) pair to the scoreboard. - (d_yreg_assoc yreg y-x-usage-list)
This is used to eliminate a pair specified by its Y-variable. - (d_xreg_assoc xreg y-x-usage-list)
This is used to eliminate a pair specified by its X-variable.
Harold Boley (boley@informatik.uni-kl.de)