OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if V8_TARGET_ARCH_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
(...skipping 2395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2406 } | 2406 } |
2407 __ bind(&convert_to_object); | 2407 __ bind(&convert_to_object); |
2408 { | 2408 { |
2409 // Convert receiver using ToObject. | 2409 // Convert receiver using ToObject. |
2410 // TODO(bmeurer): Inline the allocation here to avoid building the frame | 2410 // TODO(bmeurer): Inline the allocation here to avoid building the frame |
2411 // in the fast case? (fall back to AllocateInNewSpace?) | 2411 // in the fast case? (fall back to AllocateInNewSpace?) |
2412 FrameScope scope(masm, StackFrame::INTERNAL); | 2412 FrameScope scope(masm, StackFrame::INTERNAL); |
2413 __ sll(a0, a0, kSmiTagSize); // Smi tagged. | 2413 __ sll(a0, a0, kSmiTagSize); // Smi tagged. |
2414 __ Push(a0, a1); | 2414 __ Push(a0, a1); |
2415 __ mov(a0, a3); | 2415 __ mov(a0, a3); |
| 2416 __ Push(cp); |
2416 ToObjectStub stub(masm->isolate()); | 2417 ToObjectStub stub(masm->isolate()); |
2417 __ CallStub(&stub); | 2418 __ CallStub(&stub); |
| 2419 __ Pop(cp); |
2418 __ mov(a3, v0); | 2420 __ mov(a3, v0); |
2419 __ Pop(a0, a1); | 2421 __ Pop(a0, a1); |
2420 __ sra(a0, a0, kSmiTagSize); // Un-tag. | 2422 __ sra(a0, a0, kSmiTagSize); // Un-tag. |
2421 } | 2423 } |
2422 __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); | 2424 __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); |
2423 __ bind(&convert_receiver); | 2425 __ bind(&convert_receiver); |
2424 } | 2426 } |
2425 __ Lsa(at, sp, a0, kPointerSizeLog2); | 2427 __ Lsa(at, sp, a0, kPointerSizeLog2); |
2426 __ sw(a3, MemOperand(at)); | 2428 __ sw(a3, MemOperand(at)); |
2427 } | 2429 } |
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3001 __ break_(0xCC); | 3003 __ break_(0xCC); |
3002 } | 3004 } |
3003 } | 3005 } |
3004 | 3006 |
3005 #undef __ | 3007 #undef __ |
3006 | 3008 |
3007 } // namespace internal | 3009 } // namespace internal |
3008 } // namespace v8 | 3010 } // namespace v8 |
3009 | 3011 |
3010 #endif // V8_TARGET_ARCH_MIPS | 3012 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |