Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: src/full-codegen/mips64/full-codegen-mips64.cc

Issue 1960083002: [fullcodegen] Add missing bailout points for super calls. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/full-codegen/mips/full-codegen-mips.cc ('k') | src/full-codegen/ppc/full-codegen-ppc.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 2416 matching lines...) Expand 10 before | Expand all | Expand 10 after
2427 PushOperands(scratch, v0, v0, scratch); 2427 PushOperands(scratch, v0, v0, scratch);
2428 PushOperand(key->value()); 2428 PushOperand(key->value());
2429 2429
2430 // Stack here: 2430 // Stack here:
2431 // - home_object 2431 // - home_object
2432 // - this (receiver) 2432 // - this (receiver)
2433 // - this (receiver) <-- LoadFromSuper will pop here and below. 2433 // - this (receiver) <-- LoadFromSuper will pop here and below.
2434 // - home_object 2434 // - home_object
2435 // - key 2435 // - key
2436 CallRuntimeWithOperands(Runtime::kLoadFromSuper); 2436 CallRuntimeWithOperands(Runtime::kLoadFromSuper);
2437 PrepareForBailoutForId(prop->LoadId(), TOS_REG);
2437 2438
2438 // Replace home_object with target function. 2439 // Replace home_object with target function.
2439 __ sd(v0, MemOperand(sp, kPointerSize)); 2440 __ sd(v0, MemOperand(sp, kPointerSize));
2440 2441
2441 // Stack here: 2442 // Stack here:
2442 // - target function 2443 // - target function
2443 // - this (receiver) 2444 // - this (receiver)
2444 EmitCall(expr); 2445 EmitCall(expr);
2445 } 2446 }
2446 2447
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2485 PushOperands(scratch, v0, v0, scratch); 2486 PushOperands(scratch, v0, v0, scratch);
2486 VisitForStackValue(prop->key()); 2487 VisitForStackValue(prop->key());
2487 2488
2488 // Stack here: 2489 // Stack here:
2489 // - home_object 2490 // - home_object
2490 // - this (receiver) 2491 // - this (receiver)
2491 // - this (receiver) <-- LoadKeyedFromSuper will pop here and below. 2492 // - this (receiver) <-- LoadKeyedFromSuper will pop here and below.
2492 // - home_object 2493 // - home_object
2493 // - key 2494 // - key
2494 CallRuntimeWithOperands(Runtime::kLoadKeyedFromSuper); 2495 CallRuntimeWithOperands(Runtime::kLoadKeyedFromSuper);
2496 PrepareForBailoutForId(prop->LoadId(), TOS_REG);
2495 2497
2496 // Replace home_object with target function. 2498 // Replace home_object with target function.
2497 __ sd(v0, MemOperand(sp, kPointerSize)); 2499 __ sd(v0, MemOperand(sp, kPointerSize));
2498 2500
2499 // Stack here: 2501 // Stack here:
2500 // - target function 2502 // - target function
2501 // - this (receiver) 2503 // - this (receiver)
2502 EmitCall(expr); 2504 EmitCall(expr);
2503 } 2505 }
2504 2506
(...skipping 1482 matching lines...) Expand 10 before | Expand all | Expand 10 after
3987 reinterpret_cast<uint64_t>( 3989 reinterpret_cast<uint64_t>(
3988 isolate->builtins()->OnStackReplacement()->entry())); 3990 isolate->builtins()->OnStackReplacement()->entry()));
3989 return ON_STACK_REPLACEMENT; 3991 return ON_STACK_REPLACEMENT;
3990 } 3992 }
3991 3993
3992 3994
3993 } // namespace internal 3995 } // namespace internal
3994 } // namespace v8 3996 } // namespace v8
3995 3997
3996 #endif // V8_TARGET_ARCH_MIPS64 3998 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/full-codegen/mips/full-codegen-mips.cc ('k') | src/full-codegen/ppc/full-codegen-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698