Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(458)

Side by Side Diff: src/arm64/code-stubs-arm64.cc

Issue 1250563004: HydrogenCodeStubs consume stack arguments via descriptor. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/arm64/interface-descriptors-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 18 matching lines...) Expand all
29 // x2: allocation site with elements kind 29 // x2: allocation site with elements kind
30 // x0: number of arguments to the constructor function 30 // x0: number of arguments to the constructor function
31 Address deopt_handler = Runtime::FunctionForId( 31 Address deopt_handler = Runtime::FunctionForId(
32 Runtime::kArrayConstructor)->entry; 32 Runtime::kArrayConstructor)->entry;
33 33
34 if (constant_stack_parameter_count == 0) { 34 if (constant_stack_parameter_count == 0) {
35 descriptor->Initialize(deopt_handler, constant_stack_parameter_count, 35 descriptor->Initialize(deopt_handler, constant_stack_parameter_count,
36 JS_FUNCTION_STUB_MODE); 36 JS_FUNCTION_STUB_MODE);
37 } else { 37 } else {
38 descriptor->Initialize(x0, deopt_handler, constant_stack_parameter_count, 38 descriptor->Initialize(x0, deopt_handler, constant_stack_parameter_count,
39 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); 39 JS_FUNCTION_STUB_MODE);
40 } 40 }
41 } 41 }
42 42
43 43
44 void ArrayNoArgumentConstructorStub::InitializeDescriptor( 44 void ArrayNoArgumentConstructorStub::InitializeDescriptor(
45 CodeStubDescriptor* descriptor) { 45 CodeStubDescriptor* descriptor) {
46 InitializeArrayConstructorDescriptor(isolate(), descriptor, 0); 46 InitializeArrayConstructorDescriptor(isolate(), descriptor, 0);
47 } 47 }
48 48
49 49
(...skipping 13 matching lines...) Expand all
63 Isolate* isolate, CodeStubDescriptor* descriptor, 63 Isolate* isolate, CodeStubDescriptor* descriptor,
64 int constant_stack_parameter_count) { 64 int constant_stack_parameter_count) {
65 Address deopt_handler = Runtime::FunctionForId( 65 Address deopt_handler = Runtime::FunctionForId(
66 Runtime::kInternalArrayConstructor)->entry; 66 Runtime::kInternalArrayConstructor)->entry;
67 67
68 if (constant_stack_parameter_count == 0) { 68 if (constant_stack_parameter_count == 0) {
69 descriptor->Initialize(deopt_handler, constant_stack_parameter_count, 69 descriptor->Initialize(deopt_handler, constant_stack_parameter_count,
70 JS_FUNCTION_STUB_MODE); 70 JS_FUNCTION_STUB_MODE);
71 } else { 71 } else {
72 descriptor->Initialize(x0, deopt_handler, constant_stack_parameter_count, 72 descriptor->Initialize(x0, deopt_handler, constant_stack_parameter_count,
73 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); 73 JS_FUNCTION_STUB_MODE);
74 } 74 }
75 } 75 }
76 76
77 77
78 void InternalArrayNoArgumentConstructorStub::InitializeDescriptor( 78 void InternalArrayNoArgumentConstructorStub::InitializeDescriptor(
79 CodeStubDescriptor* descriptor) { 79 CodeStubDescriptor* descriptor) {
80 InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, 0); 80 InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, 0);
81 } 81 }
82 82
83 83
(...skipping 5760 matching lines...) Expand 10 before | Expand all | Expand 10 after
5844 MemOperand(fp, 6 * kPointerSize), NULL); 5844 MemOperand(fp, 6 * kPointerSize), NULL);
5845 } 5845 }
5846 5846
5847 5847
5848 #undef __ 5848 #undef __
5849 5849
5850 } // namespace internal 5850 } // namespace internal
5851 } // namespace v8 5851 } // namespace v8
5852 5852
5853 #endif // V8_TARGET_ARCH_ARM64 5853 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/interface-descriptors-arm.cc ('k') | src/arm64/interface-descriptors-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698