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 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 SetVar(arguments, v0, a1, a2); | 297 SetVar(arguments, v0, a1, a2); |
298 } | 298 } |
299 | 299 |
300 if (FLAG_trace) { | 300 if (FLAG_trace) { |
301 __ CallRuntime(Runtime::kTraceEnter); | 301 __ CallRuntime(Runtime::kTraceEnter); |
302 } | 302 } |
303 | 303 |
304 // Visit the declarations and body unless there is an illegal | 304 // Visit the declarations and body unless there is an illegal |
305 // redeclaration. | 305 // redeclaration. |
306 if (scope()->HasIllegalRedeclaration()) { | 306 if (scope()->HasIllegalRedeclaration()) { |
307 Comment cmnt(masm_, "[ Declarations"); | 307 EmitIllegalRedeclaration(); |
308 VisitForEffect(scope()->GetIllegalRedeclaration()); | |
309 | |
310 } else { | 308 } else { |
311 PrepareForBailoutForId(BailoutId::FunctionEntry(), NO_REGISTERS); | 309 PrepareForBailoutForId(BailoutId::FunctionEntry(), NO_REGISTERS); |
312 { Comment cmnt(masm_, "[ Declarations"); | 310 { Comment cmnt(masm_, "[ Declarations"); |
313 VisitDeclarations(scope()->declarations()); | 311 VisitDeclarations(scope()->declarations()); |
314 } | 312 } |
315 | 313 |
316 // Assert that the declarations do not use ICs. Otherwise the debugger | 314 // Assert that the declarations do not use ICs. Otherwise the debugger |
317 // won't be able to redirect a PC at an IC to the correct IC in newly | 315 // won't be able to redirect a PC at an IC to the correct IC in newly |
318 // recompiled code. | 316 // recompiled code. |
319 DCHECK_EQ(0, ic_total_count_); | 317 DCHECK_EQ(0, ic_total_count_); |
(...skipping 3899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4219 reinterpret_cast<uint64_t>( | 4217 reinterpret_cast<uint64_t>( |
4220 isolate->builtins()->OsrAfterStackCheck()->entry())); | 4218 isolate->builtins()->OsrAfterStackCheck()->entry())); |
4221 return OSR_AFTER_STACK_CHECK; | 4219 return OSR_AFTER_STACK_CHECK; |
4222 } | 4220 } |
4223 | 4221 |
4224 | 4222 |
4225 } // namespace internal | 4223 } // namespace internal |
4226 } // namespace v8 | 4224 } // namespace v8 |
4227 | 4225 |
4228 #endif // V8_TARGET_ARCH_MIPS64 | 4226 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |