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/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 3726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3737 __ AddP(ip, pointer_reg, Operand(Code::kHeaderSize - kHeapObjectTag)); | 3737 __ AddP(ip, pointer_reg, Operand(Code::kHeaderSize - kHeapObjectTag)); |
3738 __ Jump(ip); | 3738 __ Jump(ip); |
3739 | 3739 |
3740 __ bind(&transition_call); | 3740 __ bind(&transition_call); |
3741 __ LoadP(too_far, FieldMemOperand(too_far, WeakCell::kValueOffset)); | 3741 __ LoadP(too_far, FieldMemOperand(too_far, WeakCell::kValueOffset)); |
3742 __ JumpIfSmi(too_far, miss); | 3742 __ JumpIfSmi(too_far, miss); |
3743 | 3743 |
3744 __ LoadP(receiver_map, MemOperand(pointer_reg, kPointerSize * 2)); | 3744 __ LoadP(receiver_map, MemOperand(pointer_reg, kPointerSize * 2)); |
3745 | 3745 |
3746 // Load the map into the correct register. | 3746 // Load the map into the correct register. |
3747 DCHECK(feedback.is(VectorStoreTransitionDescriptor::MapRegister())); | 3747 DCHECK(feedback.is(StoreTransitionDescriptor::MapRegister())); |
3748 __ LoadRR(feedback, too_far); | 3748 __ LoadRR(feedback, too_far); |
3749 | 3749 |
3750 __ AddP(ip, receiver_map, Operand(Code::kHeaderSize - kHeapObjectTag)); | 3750 __ AddP(ip, receiver_map, Operand(Code::kHeaderSize - kHeapObjectTag)); |
3751 __ Jump(ip); | 3751 __ Jump(ip); |
3752 | 3752 |
3753 __ bind(&prepare_next); | 3753 __ bind(&prepare_next); |
3754 __ AddP(pointer_reg, pointer_reg, Operand(kPointerSize * 3)); | 3754 __ AddP(pointer_reg, pointer_reg, Operand(kPointerSize * 3)); |
3755 __ CmpLogicalP(pointer_reg, too_far); | 3755 __ CmpLogicalP(pointer_reg, too_far); |
3756 __ blt(&next_loop); | 3756 __ blt(&next_loop); |
3757 | 3757 |
(...skipping 1588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5346 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, | 5346 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, |
5347 kStackUnwindSpace, NULL, return_value_operand, NULL); | 5347 kStackUnwindSpace, NULL, return_value_operand, NULL); |
5348 } | 5348 } |
5349 | 5349 |
5350 #undef __ | 5350 #undef __ |
5351 | 5351 |
5352 } // namespace internal | 5352 } // namespace internal |
5353 } // namespace v8 | 5353 } // namespace v8 |
5354 | 5354 |
5355 #endif // V8_TARGET_ARCH_S390 | 5355 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |