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 2679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2690 __ Jump(masm->isolate()->builtins()->ConstructedNonConstructable(), | 2690 __ Jump(masm->isolate()->builtins()->ConstructedNonConstructable(), |
2691 RelocInfo::CODE_TARGET); | 2691 RelocInfo::CODE_TARGET); |
2692 } | 2692 } |
2693 | 2693 |
2694 // static | 2694 // static |
2695 void Builtins::Generate_AllocateInNewSpace(MacroAssembler* masm) { | 2695 void Builtins::Generate_AllocateInNewSpace(MacroAssembler* masm) { |
2696 // ----------- S t a t e ------------- | 2696 // ----------- S t a t e ------------- |
2697 // -- r3 : requested object size (untagged) | 2697 // -- r3 : requested object size (untagged) |
2698 // -- lr : return address | 2698 // -- lr : return address |
2699 // ----------------------------------- | 2699 // ----------------------------------- |
2700 Label runtime; | |
2701 __ Allocate(r3, r2, r4, r5, &runtime, NO_ALLOCATION_FLAGS); | |
2702 __ Ret(); | |
2703 | |
2704 __ bind(&runtime); | |
2705 __ SmiTag(r3); | 2700 __ SmiTag(r3); |
2706 __ Push(r3); | 2701 __ Push(r3); |
2707 __ LoadSmiLiteral(cp, Smi::FromInt(0)); | 2702 __ LoadSmiLiteral(cp, Smi::FromInt(0)); |
2708 __ TailCallRuntime(Runtime::kAllocateInNewSpace); | 2703 __ TailCallRuntime(Runtime::kAllocateInNewSpace); |
2709 } | 2704 } |
2710 | 2705 |
2711 // static | 2706 // static |
2712 void Builtins::Generate_AllocateInOldSpace(MacroAssembler* masm) { | 2707 void Builtins::Generate_AllocateInOldSpace(MacroAssembler* masm) { |
2713 // ----------- S t a t e ------------- | 2708 // ----------- S t a t e ------------- |
2714 // -- r3 : requested object size (untagged) | 2709 // -- r3 : requested object size (untagged) |
2715 // -- lr : return address | 2710 // -- lr : return address |
2716 // ----------------------------------- | 2711 // ----------------------------------- |
2717 Label runtime; | |
2718 __ Allocate(r3, r2, r4, r5, &runtime, PRETENURE); | |
2719 __ Ret(); | |
2720 | |
2721 __ bind(&runtime); | |
2722 __ SmiTag(r3); | 2712 __ SmiTag(r3); |
2723 __ LoadSmiLiteral(r4, Smi::FromInt(AllocateTargetSpace::encode(OLD_SPACE))); | 2713 __ LoadSmiLiteral(r4, Smi::FromInt(AllocateTargetSpace::encode(OLD_SPACE))); |
2724 __ Push(r3, r4); | 2714 __ Push(r3, r4); |
2725 __ LoadSmiLiteral(cp, Smi::FromInt(0)); | 2715 __ LoadSmiLiteral(cp, Smi::FromInt(0)); |
2726 __ TailCallRuntime(Runtime::kAllocateInTargetSpace); | 2716 __ TailCallRuntime(Runtime::kAllocateInTargetSpace); |
2727 } | 2717 } |
2728 | 2718 |
2729 void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { | 2719 void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { |
2730 // ----------- S t a t e ------------- | 2720 // ----------- S t a t e ------------- |
2731 // -- r2 : actual number of arguments | 2721 // -- r2 : actual number of arguments |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2856 __ bkpt(0); | 2846 __ bkpt(0); |
2857 } | 2847 } |
2858 } | 2848 } |
2859 | 2849 |
2860 #undef __ | 2850 #undef __ |
2861 | 2851 |
2862 } // namespace internal | 2852 } // namespace internal |
2863 } // namespace v8 | 2853 } // namespace v8 |
2864 | 2854 |
2865 #endif // V8_TARGET_ARCH_S390 | 2855 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |