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
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 (email@example.com)