| 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 // 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 2417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2428 PushOperands(scratch, v0, v0, scratch); | 2428 PushOperands(scratch, v0, v0, scratch); |
| 2429 PushOperand(key->value()); | 2429 PushOperand(key->value()); |
| 2430 | 2430 |
| 2431 // Stack here: | 2431 // Stack here: |
| 2432 // - home_object | 2432 // - home_object |
| 2433 // - this (receiver) | 2433 // - this (receiver) |
| 2434 // - this (receiver) <-- LoadFromSuper will pop here and below. | 2434 // - this (receiver) <-- LoadFromSuper will pop here and below. |
| 2435 // - home_object | 2435 // - home_object |
| 2436 // - key | 2436 // - key |
| 2437 CallRuntimeWithOperands(Runtime::kLoadFromSuper); | 2437 CallRuntimeWithOperands(Runtime::kLoadFromSuper); |
| 2438 PrepareForBailoutForId(prop->LoadId(), TOS_REG); |
| 2438 | 2439 |
| 2439 // Replace home_object with target function. | 2440 // Replace home_object with target function. |
| 2440 __ sw(v0, MemOperand(sp, kPointerSize)); | 2441 __ sw(v0, MemOperand(sp, kPointerSize)); |
| 2441 | 2442 |
| 2442 // Stack here: | 2443 // Stack here: |
| 2443 // - target function | 2444 // - target function |
| 2444 // - this (receiver) | 2445 // - this (receiver) |
| 2445 EmitCall(expr); | 2446 EmitCall(expr); |
| 2446 } | 2447 } |
| 2447 | 2448 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2486 PushOperands(scratch, v0, v0, scratch); | 2487 PushOperands(scratch, v0, v0, scratch); |
| 2487 VisitForStackValue(prop->key()); | 2488 VisitForStackValue(prop->key()); |
| 2488 | 2489 |
| 2489 // Stack here: | 2490 // Stack here: |
| 2490 // - home_object | 2491 // - home_object |
| 2491 // - this (receiver) | 2492 // - this (receiver) |
| 2492 // - this (receiver) <-- LoadKeyedFromSuper will pop here and below. | 2493 // - this (receiver) <-- LoadKeyedFromSuper will pop here and below. |
| 2493 // - home_object | 2494 // - home_object |
| 2494 // - key | 2495 // - key |
| 2495 CallRuntimeWithOperands(Runtime::kLoadKeyedFromSuper); | 2496 CallRuntimeWithOperands(Runtime::kLoadKeyedFromSuper); |
| 2497 PrepareForBailoutForId(prop->LoadId(), TOS_REG); |
| 2496 | 2498 |
| 2497 // Replace home_object with target function. | 2499 // Replace home_object with target function. |
| 2498 __ sw(v0, MemOperand(sp, kPointerSize)); | 2500 __ sw(v0, MemOperand(sp, kPointerSize)); |
| 2499 | 2501 |
| 2500 // Stack here: | 2502 // Stack here: |
| 2501 // - target function | 2503 // - target function |
| 2502 // - this (receiver) | 2504 // - this (receiver) |
| 2503 EmitCall(expr); | 2505 EmitCall(expr); |
| 2504 } | 2506 } |
| 2505 | 2507 |
| (...skipping 1473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3979 reinterpret_cast<uint32_t>( | 3981 reinterpret_cast<uint32_t>( |
| 3980 isolate->builtins()->OnStackReplacement()->entry())); | 3982 isolate->builtins()->OnStackReplacement()->entry())); |
| 3981 return ON_STACK_REPLACEMENT; | 3983 return ON_STACK_REPLACEMENT; |
| 3982 } | 3984 } |
| 3983 | 3985 |
| 3984 | 3986 |
| 3985 } // namespace internal | 3987 } // namespace internal |
| 3986 } // namespace v8 | 3988 } // namespace v8 |
| 3987 | 3989 |
| 3988 #endif // V8_TARGET_ARCH_MIPS | 3990 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |