| Index: src/mips/code-stubs-mips.cc
|
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
|
| index ab1b90adae8d14ec2abb90a96aafef30af865fe1..afecc5eda547c3b5bb21af213aa42156994bb3ac 100644
|
| --- a/src/mips/code-stubs-mips.cc
|
| +++ b/src/mips/code-stubs-mips.cc
|
| @@ -477,66 +477,6 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void FastNewBlockContextStub::Generate(MacroAssembler* masm) {
|
| - // Stack layout on entry:
|
| - //
|
| - // [sp]: function.
|
| - // [sp + kPointerSize]: serialized scope info
|
| -
|
| - // Try to allocate the context in new space.
|
| - Label gc;
|
| - int length = slots_ + Context::MIN_CONTEXT_SLOTS;
|
| - __ Allocate(FixedArray::SizeFor(length), v0, a1, a2, &gc, TAG_OBJECT);
|
| -
|
| - // Load the function from the stack.
|
| - __ lw(a3, MemOperand(sp, 0));
|
| -
|
| - // Load the serialized scope info from the stack.
|
| - __ lw(a1, MemOperand(sp, 1 * kPointerSize));
|
| -
|
| - // Set up the object header.
|
| - __ LoadRoot(a2, Heap::kBlockContextMapRootIndex);
|
| - __ sw(a2, FieldMemOperand(v0, HeapObject::kMapOffset));
|
| - __ li(a2, Operand(Smi::FromInt(length)));
|
| - __ sw(a2, FieldMemOperand(v0, FixedArray::kLengthOffset));
|
| -
|
| - // If this block context is nested in the native context we get a smi
|
| - // sentinel instead of a function. The block context should get the
|
| - // canonical empty function of the native context as its closure which
|
| - // we still have to look up.
|
| - Label after_sentinel;
|
| - __ JumpIfNotSmi(a3, &after_sentinel);
|
| - if (FLAG_debug_code) {
|
| - __ Assert(eq, kExpected0AsASmiSentinel, a3, Operand(zero_reg));
|
| - }
|
| - __ lw(a3, GlobalObjectOperand());
|
| - __ lw(a3, FieldMemOperand(a3, GlobalObject::kNativeContextOffset));
|
| - __ lw(a3, ContextOperand(a3, Context::CLOSURE_INDEX));
|
| - __ bind(&after_sentinel);
|
| -
|
| - // Set up the fixed slots, copy the global object from the previous context.
|
| - __ lw(a2, ContextOperand(cp, Context::GLOBAL_OBJECT_INDEX));
|
| - __ sw(a3, ContextOperand(v0, Context::CLOSURE_INDEX));
|
| - __ sw(cp, ContextOperand(v0, Context::PREVIOUS_INDEX));
|
| - __ sw(a1, ContextOperand(v0, Context::EXTENSION_INDEX));
|
| - __ sw(a2, ContextOperand(v0, Context::GLOBAL_OBJECT_INDEX));
|
| -
|
| - // Initialize the rest of the slots to the hole value.
|
| - __ LoadRoot(a1, Heap::kTheHoleValueRootIndex);
|
| - for (int i = 0; i < slots_; i++) {
|
| - __ sw(a1, ContextOperand(v0, i + Context::MIN_CONTEXT_SLOTS));
|
| - }
|
| -
|
| - // Remove the on-stack argument and return.
|
| - __ mov(cp, v0);
|
| - __ DropAndRet(2);
|
| -
|
| - // Need to collect. Call into runtime system.
|
| - __ bind(&gc);
|
| - __ TailCallRuntime(Runtime::kPushBlockContext, 2, 1);
|
| -}
|
| -
|
| -
|
| // Takes a Smi and converts to an IEEE 64 bit floating point value in two
|
| // registers. The format is 1 sign bit, 11 exponent bits (biased 1023) and
|
| // 52 fraction bits (20 in the first word, 32 in the second). Zeros is a
|
|
|