Create new stack frame when getScratchRegister fails.
authorMadhavi Krishnan <madhavi@cs.wisc.edu>
Thu, 29 Jul 2010 20:27:11 +0000 (15:27 -0500)
committerMadhavi Krishnan <madhavi@cs.wisc.edu>
Thu, 29 Jul 2010 20:27:11 +0000 (15:27 -0500)
commitf748b24896b4d51d716933fd41cf6110dcae9d5a
tree1469eb0a622b078ded68754dce149c4b8d7e14b7
parent3901ebe573267fd14868f087dfc5f5b27e7febb3
Create new stack frame when getScratchRegister fails.

In power platforms, while relocating Thunk code or
emitting load and store shared code outside of baseTramp,
getScratchRegister may fail when there are no free registers.
When there are no free registers, we create a new stack frame,
push register values on the stack and create free registers.

After the operation, we tear down the stack and restore the original
values of the registers.
dyninstAPI/src/codegen-power.C
dyninstAPI/src/codegen-power.h
dyninstAPI/src/inst-power.C