Backout commit 289e653a7061 for bug 995704 - potential perf regression.

This commit is contained in:
Kannan Vijayan 2014-05-14 16:19:13 -04:00
Родитель 488f6b602e
Коммит 20fb244dc0
1 изменённых файлов: 1 добавлений и 13 удалений

Просмотреть файл

@ -2805,19 +2805,7 @@ CodeGenerator::generateArgumentsChecks(bool bailout)
// Reserve the amount of stack the actual frame will use. We have to undo
// this before falling through to the method proper though, because the
// monomorphic call case will bypass this entire path.
// On windows, we cannot skip very far down the stack without touching the
// memory pages in-between. This is a corner-case code for situations where the
// Ion frame data for a piece of code is very large. To handle this special case,
// for frames over 1k in size we allocate memory on the stack incrementally, touching
// it as we go.
uint32_t frameSizeLeft = frameSize();
while (frameSizeLeft > 1024) {
masm.reserveStack(1024);
masm.store32(Imm32(0), Address(StackPointer, 0));
frameSizeLeft -= 1024;
}
masm.reserveStack(frameSizeLeft);
masm.reserveStack(frameSize());
// No registers are allocated yet, so it's safe to grab anything.
Register temp = GeneralRegisterSet(EntryTempMask).getAny();