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 3375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3386 if (!context()->IsEffect()) { | 3386 if (!context()->IsEffect()) { |
3387 context()->PlugTOS(); | 3387 context()->PlugTOS(); |
3388 } | 3388 } |
3389 } else { | 3389 } else { |
3390 context()->Plug(v0); | 3390 context()->Plug(v0); |
3391 } | 3391 } |
3392 break; | 3392 break; |
3393 } | 3393 } |
3394 case NAMED_SUPER_PROPERTY: { | 3394 case NAMED_SUPER_PROPERTY: { |
3395 EmitNamedSuperPropertyStore(prop); | 3395 EmitNamedSuperPropertyStore(prop); |
| 3396 PrepareForBailoutForId(expr->AssignmentId(), BailoutState::TOS_REGISTER); |
3396 if (expr->is_postfix()) { | 3397 if (expr->is_postfix()) { |
3397 if (!context()->IsEffect()) { | 3398 if (!context()->IsEffect()) { |
3398 context()->PlugTOS(); | 3399 context()->PlugTOS(); |
3399 } | 3400 } |
3400 } else { | 3401 } else { |
3401 context()->Plug(v0); | 3402 context()->Plug(v0); |
3402 } | 3403 } |
3403 break; | 3404 break; |
3404 } | 3405 } |
3405 case KEYED_SUPER_PROPERTY: { | 3406 case KEYED_SUPER_PROPERTY: { |
3406 EmitKeyedSuperPropertyStore(prop); | 3407 EmitKeyedSuperPropertyStore(prop); |
| 3408 PrepareForBailoutForId(expr->AssignmentId(), BailoutState::TOS_REGISTER); |
3407 if (expr->is_postfix()) { | 3409 if (expr->is_postfix()) { |
3408 if (!context()->IsEffect()) { | 3410 if (!context()->IsEffect()) { |
3409 context()->PlugTOS(); | 3411 context()->PlugTOS(); |
3410 } | 3412 } |
3411 } else { | 3413 } else { |
3412 context()->Plug(v0); | 3414 context()->Plug(v0); |
3413 } | 3415 } |
3414 break; | 3416 break; |
3415 } | 3417 } |
3416 case KEYED_PROPERTY: { | 3418 case KEYED_PROPERTY: { |
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3805 reinterpret_cast<uint64_t>( | 3807 reinterpret_cast<uint64_t>( |
3806 isolate->builtins()->OnStackReplacement()->entry())); | 3808 isolate->builtins()->OnStackReplacement()->entry())); |
3807 return ON_STACK_REPLACEMENT; | 3809 return ON_STACK_REPLACEMENT; |
3808 } | 3810 } |
3809 | 3811 |
3810 | 3812 |
3811 } // namespace internal | 3813 } // namespace internal |
3812 } // namespace v8 | 3814 } // namespace v8 |
3813 | 3815 |
3814 #endif // V8_TARGET_ARCH_MIPS64 | 3816 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |