| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/codegen.h" | 7 #include "src/codegen.h" |
| 8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
| 9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
| 10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
| (...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 741 // Store input value into generator object. | 741 // Store input value into generator object. |
| 742 __ StoreP(r2, FieldMemOperand(r3, JSGeneratorObject::kInputOrDebugPosOffset), | 742 __ StoreP(r2, FieldMemOperand(r3, JSGeneratorObject::kInputOrDebugPosOffset), |
| 743 r0); | 743 r0); |
| 744 __ RecordWriteField(r3, JSGeneratorObject::kInputOrDebugPosOffset, r2, r5, | 744 __ RecordWriteField(r3, JSGeneratorObject::kInputOrDebugPosOffset, r2, r5, |
| 745 kLRHasNotBeenSaved, kDontSaveFPRegs); | 745 kLRHasNotBeenSaved, kDontSaveFPRegs); |
| 746 | 746 |
| 747 // Store resume mode into generator object. | 747 // Store resume mode into generator object. |
| 748 __ StoreP(r4, FieldMemOperand(r3, JSGeneratorObject::kResumeModeOffset)); | 748 __ StoreP(r4, FieldMemOperand(r3, JSGeneratorObject::kResumeModeOffset)); |
| 749 | 749 |
| 750 // Load suspended function and context. | 750 // Load suspended function and context. |
| 751 __ LoadP(cp, FieldMemOperand(r3, JSGeneratorObject::kContextOffset)); | |
| 752 __ LoadP(r6, FieldMemOperand(r3, JSGeneratorObject::kFunctionOffset)); | 751 __ LoadP(r6, FieldMemOperand(r3, JSGeneratorObject::kFunctionOffset)); |
| 752 __ LoadP(cp, FieldMemOperand(r6, JSFunction::kContextOffset)); |
| 753 | 753 |
| 754 // Flood function if we are stepping. | 754 // Flood function if we are stepping. |
| 755 Label prepare_step_in_if_stepping, prepare_step_in_suspended_generator; | 755 Label prepare_step_in_if_stepping, prepare_step_in_suspended_generator; |
| 756 Label stepping_prepared; | 756 Label stepping_prepared; |
| 757 ExternalReference debug_hook = | 757 ExternalReference debug_hook = |
| 758 ExternalReference::debug_hook_on_function_call_address(masm->isolate()); | 758 ExternalReference::debug_hook_on_function_call_address(masm->isolate()); |
| 759 __ mov(ip, Operand(debug_hook)); | 759 __ mov(ip, Operand(debug_hook)); |
| 760 __ LoadB(ip, MemOperand(ip)); | 760 __ LoadB(ip, MemOperand(ip)); |
| 761 __ CmpSmiLiteral(ip, Smi::kZero, r0); | 761 __ CmpSmiLiteral(ip, Smi::kZero, r0); |
| 762 __ bne(&prepare_step_in_if_stepping); | 762 __ bne(&prepare_step_in_if_stepping); |
| (...skipping 2215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2978 __ bkpt(0); | 2978 __ bkpt(0); |
| 2979 } | 2979 } |
| 2980 } | 2980 } |
| 2981 | 2981 |
| 2982 #undef __ | 2982 #undef __ |
| 2983 | 2983 |
| 2984 } // namespace internal | 2984 } // namespace internal |
| 2985 } // namespace v8 | 2985 } // namespace v8 |
| 2986 | 2986 |
| 2987 #endif // V8_TARGET_ARCH_S390 | 2987 #endif // V8_TARGET_ARCH_S390 |
| OLD | NEW |