OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_S390 | 5 #if V8_TARGET_ARCH_S390 |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" |
9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 2354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2365 PushOperands(scratch, r2, r2, scratch); | 2365 PushOperands(scratch, r2, r2, scratch); |
2366 PushOperand(key->value()); | 2366 PushOperand(key->value()); |
2367 | 2367 |
2368 // Stack here: | 2368 // Stack here: |
2369 // - home_object | 2369 // - home_object |
2370 // - this (receiver) | 2370 // - this (receiver) |
2371 // - this (receiver) <-- LoadFromSuper will pop here and below. | 2371 // - this (receiver) <-- LoadFromSuper will pop here and below. |
2372 // - home_object | 2372 // - home_object |
2373 // - key | 2373 // - key |
2374 CallRuntimeWithOperands(Runtime::kLoadFromSuper); | 2374 CallRuntimeWithOperands(Runtime::kLoadFromSuper); |
| 2375 PrepareForBailoutForId(prop->LoadId(), TOS_REG); |
2375 | 2376 |
2376 // Replace home_object with target function. | 2377 // Replace home_object with target function. |
2377 __ StoreP(r2, MemOperand(sp, kPointerSize)); | 2378 __ StoreP(r2, MemOperand(sp, kPointerSize)); |
2378 | 2379 |
2379 // Stack here: | 2380 // Stack here: |
2380 // - target function | 2381 // - target function |
2381 // - this (receiver) | 2382 // - this (receiver) |
2382 EmitCall(expr); | 2383 EmitCall(expr); |
2383 } | 2384 } |
2384 | 2385 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2420 PushOperands(scratch, r2, r2, scratch); | 2421 PushOperands(scratch, r2, r2, scratch); |
2421 VisitForStackValue(prop->key()); | 2422 VisitForStackValue(prop->key()); |
2422 | 2423 |
2423 // Stack here: | 2424 // Stack here: |
2424 // - home_object | 2425 // - home_object |
2425 // - this (receiver) | 2426 // - this (receiver) |
2426 // - this (receiver) <-- LoadKeyedFromSuper will pop here and below. | 2427 // - this (receiver) <-- LoadKeyedFromSuper will pop here and below. |
2427 // - home_object | 2428 // - home_object |
2428 // - key | 2429 // - key |
2429 CallRuntimeWithOperands(Runtime::kLoadKeyedFromSuper); | 2430 CallRuntimeWithOperands(Runtime::kLoadKeyedFromSuper); |
| 2431 PrepareForBailoutForId(prop->LoadId(), TOS_REG); |
2430 | 2432 |
2431 // Replace home_object with target function. | 2433 // Replace home_object with target function. |
2432 __ StoreP(r2, MemOperand(sp, kPointerSize)); | 2434 __ StoreP(r2, MemOperand(sp, kPointerSize)); |
2433 | 2435 |
2434 // Stack here: | 2436 // Stack here: |
2435 // - target function | 2437 // - target function |
2436 // - this (receiver) | 2438 // - this (receiver) |
2437 EmitCall(expr); | 2439 EmitCall(expr); |
2438 } | 2440 } |
2439 | 2441 |
(...skipping 1402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3842 DCHECK(kOSRBranchInstruction == br_instr); | 3844 DCHECK(kOSRBranchInstruction == br_instr); |
3843 | 3845 |
3844 DCHECK(interrupt_address == | 3846 DCHECK(interrupt_address == |
3845 isolate->builtins()->OnStackReplacement()->entry()); | 3847 isolate->builtins()->OnStackReplacement()->entry()); |
3846 return ON_STACK_REPLACEMENT; | 3848 return ON_STACK_REPLACEMENT; |
3847 } | 3849 } |
3848 | 3850 |
3849 } // namespace internal | 3851 } // namespace internal |
3850 } // namespace v8 | 3852 } // namespace v8 |
3851 #endif // V8_TARGET_ARCH_S390 | 3853 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |