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 2673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2684 RelocInfo::CODE_TARGET); | 2684 RelocInfo::CODE_TARGET); |
2685 } | 2685 } |
2686 | 2686 |
2687 // Called Construct on an Object that doesn't have a [[Construct]] internal | 2687 // Called Construct on an Object that doesn't have a [[Construct]] internal |
2688 // method. | 2688 // method. |
2689 __ bind(&non_constructor); | 2689 __ bind(&non_constructor); |
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 |
| 2695 void Builtins::Generate_AllocateInNewSpace(MacroAssembler* masm) { |
| 2696 // ----------- S t a t e ------------- |
| 2697 // -- r3 : requested object size (untagged) |
| 2698 // -- lr : return address |
| 2699 // ----------------------------------- |
| 2700 Label runtime; |
| 2701 __ Allocate(r3, r2, r4, r5, &runtime, NO_ALLOCATION_FLAGS); |
| 2702 __ Ret(); |
| 2703 |
| 2704 __ bind(&runtime); |
| 2705 __ SmiTag(r3); |
| 2706 __ Push(r3); |
| 2707 __ LoadSmiLiteral(cp, Smi::FromInt(0)); |
| 2708 __ TailCallRuntime(Runtime::kAllocateInNewSpace); |
| 2709 } |
| 2710 |
| 2711 // static |
| 2712 void Builtins::Generate_AllocateInOldSpace(MacroAssembler* masm) { |
| 2713 // ----------- S t a t e ------------- |
| 2714 // -- r3 : requested object size (untagged) |
| 2715 // -- lr : return address |
| 2716 // ----------------------------------- |
| 2717 Label runtime; |
| 2718 __ Allocate(r3, r2, r4, r5, &runtime, PRETENURE); |
| 2719 __ Ret(); |
| 2720 |
| 2721 __ bind(&runtime); |
| 2722 __ SmiTag(r3); |
| 2723 __ LoadSmiLiteral(r4, Smi::FromInt(AllocateTargetSpace::encode(OLD_SPACE))); |
| 2724 __ Push(r3, r4); |
| 2725 __ LoadSmiLiteral(cp, Smi::FromInt(0)); |
| 2726 __ TailCallRuntime(Runtime::kAllocateInTargetSpace); |
| 2727 } |
| 2728 |
2694 void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { | 2729 void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { |
2695 // ----------- S t a t e ------------- | 2730 // ----------- S t a t e ------------- |
2696 // -- r2 : actual number of arguments | 2731 // -- r2 : actual number of arguments |
2697 // -- r3 : function (passed through to callee) | 2732 // -- r3 : function (passed through to callee) |
2698 // -- r4 : expected number of arguments | 2733 // -- r4 : expected number of arguments |
2699 // -- r5 : new target (passed through to callee) | 2734 // -- r5 : new target (passed through to callee) |
2700 // ----------------------------------- | 2735 // ----------------------------------- |
2701 | 2736 |
2702 Label invoke, dont_adapt_arguments, stack_overflow; | 2737 Label invoke, dont_adapt_arguments, stack_overflow; |
2703 | 2738 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2821 __ bkpt(0); | 2856 __ bkpt(0); |
2822 } | 2857 } |
2823 } | 2858 } |
2824 | 2859 |
2825 #undef __ | 2860 #undef __ |
2826 | 2861 |
2827 } // namespace internal | 2862 } // namespace internal |
2828 } // namespace v8 | 2863 } // namespace v8 |
2829 | 2864 |
2830 #endif // V8_TARGET_ARCH_S390 | 2865 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |