OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_MIPS64 | 7 #if V8_TARGET_ARCH_MIPS64 |
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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 | 65 |
66 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( | 66 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( |
67 CodeStubInterfaceDescriptor* descriptor) { | 67 CodeStubInterfaceDescriptor* descriptor) { |
68 Register registers[] = { cp, a3, a2, a1, a0 }; | 68 Register registers[] = { cp, a3, a2, a1, a0 }; |
69 descriptor->Initialize( | 69 descriptor->Initialize( |
70 MajorKey(), ARRAY_SIZE(registers), registers, | 70 MajorKey(), ARRAY_SIZE(registers), registers, |
71 Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry); | 71 Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry); |
72 } | 72 } |
73 | 73 |
74 | 74 |
| 75 void CallFunctionStub::InitializeInterfaceDescriptor( |
| 76 CodeStubInterfaceDescriptor* descriptor) { |
| 77 UNIMPLEMENTED(); |
| 78 } |
| 79 |
| 80 |
| 81 void CallConstructStub::InitializeInterfaceDescriptor( |
| 82 CodeStubInterfaceDescriptor* descriptor) { |
| 83 UNIMPLEMENTED(); |
| 84 } |
| 85 |
| 86 |
75 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( | 87 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( |
76 CodeStubInterfaceDescriptor* descriptor) { | 88 CodeStubInterfaceDescriptor* descriptor) { |
77 Register registers[] = { cp, a2, a3 }; | 89 Register registers[] = { cp, a2, a3 }; |
78 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 90 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
79 } | 91 } |
80 | 92 |
81 | 93 |
82 void RegExpConstructResultStub::InitializeInterfaceDescriptor( | 94 void RegExpConstructResultStub::InitializeInterfaceDescriptor( |
83 CodeStubInterfaceDescriptor* descriptor) { | 95 CodeStubInterfaceDescriptor* descriptor) { |
84 Register registers[] = { cp, a2, a1, a0 }; | 96 Register registers[] = { cp, a2, a1, a0 }; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 int constant_stack_parameter_count) { | 160 int constant_stack_parameter_count) { |
149 // register state | 161 // register state |
150 // cp -- context | 162 // cp -- context |
151 // a0 -- number of arguments | 163 // a0 -- number of arguments |
152 // a1 -- constructor function | 164 // a1 -- constructor function |
153 Address deopt_handler = Runtime::FunctionForId( | 165 Address deopt_handler = Runtime::FunctionForId( |
154 Runtime::kInternalArrayConstructor)->entry; | 166 Runtime::kInternalArrayConstructor)->entry; |
155 | 167 |
156 if (constant_stack_parameter_count == 0) { | 168 if (constant_stack_parameter_count == 0) { |
157 Register registers[] = { cp, a1 }; | 169 Register registers[] = { cp, a1 }; |
158 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, | 170 descriptor->Initialize(major, ARRAY_SIZE(registers), registers, |
159 deopt_handler, NULL, constant_stack_parameter_count, | 171 deopt_handler, NULL, constant_stack_parameter_count, |
160 JS_FUNCTION_STUB_MODE); | 172 JS_FUNCTION_STUB_MODE); |
161 } else { | 173 } else { |
162 // stack param count needs (constructor pointer, and single argument) | 174 // stack param count needs (constructor pointer, and single argument) |
163 Register registers[] = { cp, a1, a0 }; | 175 Register registers[] = { cp, a1, a0 }; |
164 Representation representations[] = { | 176 Representation representations[] = { |
165 Representation::Tagged(), | 177 Representation::Tagged(), |
166 Representation::Tagged(), | 178 Representation::Tagged(), |
167 Representation::Integer32() }; | 179 Representation::Integer32() }; |
168 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, a0, | 180 descriptor->Initialize(major, ARRAY_SIZE(registers), registers, a0, |
169 deopt_handler, representations, | 181 deopt_handler, representations, |
170 constant_stack_parameter_count, | 182 constant_stack_parameter_count, |
171 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); | 183 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); |
172 } | 184 } |
173 } | 185 } |
174 | 186 |
175 | 187 |
176 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( | 188 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
177 CodeStubInterfaceDescriptor* descriptor) { | 189 CodeStubInterfaceDescriptor* descriptor) { |
178 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, 0); | 190 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, 0); |
(...skipping 5129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5308 MemOperand(fp, 6 * kPointerSize), | 5320 MemOperand(fp, 6 * kPointerSize), |
5309 NULL); | 5321 NULL); |
5310 } | 5322 } |
5311 | 5323 |
5312 | 5324 |
5313 #undef __ | 5325 #undef __ |
5314 | 5326 |
5315 } } // namespace v8::internal | 5327 } } // namespace v8::internal |
5316 | 5328 |
5317 #endif // V8_TARGET_ARCH_MIPS64 | 5329 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |