OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/interpreter/interpreter-intrinsics.h" | 5 #include "src/interpreter/interpreter-intrinsics.h" |
6 | 6 |
7 #include "src/code-factory.h" | 7 #include "src/code-factory.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 int index = 0; | 223 int index = 0; |
224 args[index++] = __ HeapConstant(callable.code()); | 224 args[index++] = __ HeapConstant(callable.code()); |
225 for (int i = 0; i < param_count; i++) { | 225 for (int i = 0; i < param_count; i++) { |
226 args[index++] = __ LoadRegister(args_reg); | 226 args[index++] = __ LoadRegister(args_reg); |
227 args_reg = __ NextRegister(args_reg); | 227 args_reg = __ NextRegister(args_reg); |
228 } | 228 } |
229 args[index++] = context; | 229 args[index++] = context; |
230 return __ CallStubN(callable.descriptor(), 1, input_count, args); | 230 return __ CallStubN(callable.descriptor(), 1, input_count, args); |
231 } | 231 } |
232 | 232 |
| 233 Node* IntrinsicsHelper::CreateIterResultObject(Node* input, Node* arg_count, |
| 234 Node* context) { |
| 235 return IntrinsicAsStubCall(input, context, |
| 236 CodeFactory::CreateIterResultObject(isolate())); |
| 237 } |
| 238 |
233 Node* IntrinsicsHelper::HasProperty(Node* input, Node* arg_count, | 239 Node* IntrinsicsHelper::HasProperty(Node* input, Node* arg_count, |
234 Node* context) { | 240 Node* context) { |
235 return IntrinsicAsStubCall(input, context, | 241 return IntrinsicAsStubCall(input, context, |
236 CodeFactory::HasProperty(isolate())); | 242 CodeFactory::HasProperty(isolate())); |
237 } | 243 } |
238 | 244 |
239 Node* IntrinsicsHelper::NumberToString(Node* input, Node* arg_count, | 245 Node* IntrinsicsHelper::NumberToString(Node* input, Node* arg_count, |
240 Node* context) { | 246 Node* context) { |
241 return IntrinsicAsStubCall(input, context, | 247 return IntrinsicAsStubCall(input, context, |
242 CodeFactory::NumberToString(isolate())); | 248 CodeFactory::NumberToString(isolate())); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 Node* comparison = __ Word32Equal(actual, __ Int32Constant(expected)); | 394 Node* comparison = __ Word32Equal(actual, __ Int32Constant(expected)); |
389 __ GotoIf(comparison, &match); | 395 __ GotoIf(comparison, &match); |
390 __ Abort(kWrongArgumentCountForInvokeIntrinsic); | 396 __ Abort(kWrongArgumentCountForInvokeIntrinsic); |
391 __ Goto(&match); | 397 __ Goto(&match); |
392 __ Bind(&match); | 398 __ Bind(&match); |
393 } | 399 } |
394 | 400 |
395 } // namespace interpreter | 401 } // namespace interpreter |
396 } // namespace internal | 402 } // namespace internal |
397 } // namespace v8 | 403 } // namespace v8 |
OLD | NEW |