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_MIPS64 | 5 #if V8_TARGET_ARCH_MIPS64 |
6 | 6 |
7 // Note on Mips implementation: | 7 // Note on Mips implementation: |
8 // | 8 // |
9 // The result_register() for mips is the 'v0' register, which is defined | 9 // The result_register() for mips is the 'v0' register, which is defined |
10 // by the ABI to contain function return values. However, the first | 10 // by the ABI to contain function return values. However, the first |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 | 119 |
120 #ifdef DEBUG | 120 #ifdef DEBUG |
121 if (strlen(FLAG_stop_at) > 0 && | 121 if (strlen(FLAG_stop_at) > 0 && |
122 info->literal()->name()->IsUtf8EqualTo(CStrVector(FLAG_stop_at))) { | 122 info->literal()->name()->IsUtf8EqualTo(CStrVector(FLAG_stop_at))) { |
123 __ stop("stop-at"); | 123 __ stop("stop-at"); |
124 } | 124 } |
125 #endif | 125 #endif |
126 | 126 |
127 if (FLAG_debug_code && info->ExpectsJSReceiverAsReceiver()) { | 127 if (FLAG_debug_code && info->ExpectsJSReceiverAsReceiver()) { |
128 int receiver_offset = info->scope()->num_parameters() * kPointerSize; | 128 int receiver_offset = info->scope()->num_parameters() * kPointerSize; |
129 __ lw(a2, MemOperand(sp, receiver_offset)); | 129 __ ld(a2, MemOperand(sp, receiver_offset)); |
130 __ AssertNotSmi(a2); | 130 __ AssertNotSmi(a2); |
131 __ GetObjectType(a2, a2, a2); | 131 __ GetObjectType(a2, a2, a2); |
132 __ Check(ge, kSloppyFunctionExpectsJSReceiverReceiver, a2, | 132 __ Check(ge, kSloppyFunctionExpectsJSReceiverReceiver, a2, |
133 Operand(FIRST_SPEC_OBJECT_TYPE)); | 133 Operand(FIRST_SPEC_OBJECT_TYPE)); |
134 } | 134 } |
135 | 135 |
136 // Open a frame scope to indicate that there is a frame on the stack. The | 136 // Open a frame scope to indicate that there is a frame on the stack. The |
137 // MANUAL indicates that the scope shouldn't actually generate code to set up | 137 // MANUAL indicates that the scope shouldn't actually generate code to set up |
138 // the frame (that is done below). | 138 // the frame (that is done below). |
139 FrameScope frame_scope(masm_, StackFrame::MANUAL); | 139 FrameScope frame_scope(masm_, StackFrame::MANUAL); |
(...skipping 4917 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5057 reinterpret_cast<uint64_t>( | 5057 reinterpret_cast<uint64_t>( |
5058 isolate->builtins()->OsrAfterStackCheck()->entry())); | 5058 isolate->builtins()->OsrAfterStackCheck()->entry())); |
5059 return OSR_AFTER_STACK_CHECK; | 5059 return OSR_AFTER_STACK_CHECK; |
5060 } | 5060 } |
5061 | 5061 |
5062 | 5062 |
5063 } // namespace internal | 5063 } // namespace internal |
5064 } // namespace v8 | 5064 } // namespace v8 |
5065 | 5065 |
5066 #endif // V8_TARGET_ARCH_MIPS64 | 5066 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |