[turbofan] Save OOL constant pool pointer in CodeGenerator::AssemblePrologue.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/541733002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ulan@chromium.org 2014-09-10 14:40:59 +00:00
parent 1f4f9eed2a
commit 2a084bddd3

View File

@ -619,8 +619,14 @@ void CodeGenerator::AssembleDeoptimizerCall(int deoptimization_id) {
void CodeGenerator::AssemblePrologue() {
CallDescriptor* descriptor = linkage()->GetIncomingDescriptor();
if (descriptor->kind() == CallDescriptor::kCallAddress) {
__ Push(lr, fp);
__ mov(fp, sp);
if (FLAG_enable_ool_constant_pool) {
__ Push(lr, fp, pp);
// Adjust FP to point to saved FP.
__ sub(fp, sp, Operand(StandardFrameConstants::kConstantPoolOffset));
} else {
__ Push(lr, fp);
__ mov(fp, sp);
}
const RegList saves = descriptor->CalleeSavedRegisters();
if (saves != 0) { // Save callee-saved registers.
int register_save_area_size = 0;