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 #include "src/code-factory.h" | 5 #include "src/code-factory.h" |
6 | 6 |
7 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
8 #include "src/ic/ic.h" | 8 #include "src/ic/ic.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 ConstructTrampolineDescriptor(isolate)); | 345 ConstructTrampolineDescriptor(isolate)); |
346 } | 346 } |
347 | 347 |
348 | 348 |
349 // static | 349 // static |
350 Callable CodeFactory::ConstructFunction(Isolate* isolate) { | 350 Callable CodeFactory::ConstructFunction(Isolate* isolate) { |
351 return Callable(isolate->builtins()->ConstructFunction(), | 351 return Callable(isolate->builtins()->ConstructFunction(), |
352 ConstructTrampolineDescriptor(isolate)); | 352 ConstructTrampolineDescriptor(isolate)); |
353 } | 353 } |
354 | 354 |
| 355 // static |
| 356 Callable CodeFactory::InterpreterPushArgsAndCallIC( |
| 357 Isolate* isolate, TailCallMode tail_call_mode) { |
| 358 return Callable( |
| 359 isolate->builtins()->InterpreterPushArgsAndCallIC(tail_call_mode), |
| 360 InterpreterPushArgsAndCallICDescriptor(isolate)); |
| 361 } |
355 | 362 |
356 // static | 363 // static |
357 Callable CodeFactory::InterpreterPushArgsAndCall(Isolate* isolate, | 364 Callable CodeFactory::InterpreterPushArgsAndCall(Isolate* isolate, |
358 TailCallMode tail_call_mode) { | 365 TailCallMode tail_call_mode) { |
359 return Callable( | 366 return Callable( |
360 isolate->builtins()->InterpreterPushArgsAndCall(tail_call_mode), | 367 isolate->builtins()->InterpreterPushArgsAndCall(tail_call_mode), |
361 InterpreterPushArgsAndCallDescriptor(isolate)); | 368 InterpreterPushArgsAndCallDescriptor(isolate)); |
362 } | 369 } |
363 | 370 |
364 | |
365 // static | 371 // static |
366 Callable CodeFactory::InterpreterPushArgsAndConstruct(Isolate* isolate) { | 372 Callable CodeFactory::InterpreterPushArgsAndConstruct(Isolate* isolate) { |
367 return Callable(isolate->builtins()->InterpreterPushArgsAndConstruct(), | 373 return Callable(isolate->builtins()->InterpreterPushArgsAndConstruct(), |
368 InterpreterPushArgsAndConstructDescriptor(isolate)); | 374 InterpreterPushArgsAndConstructDescriptor(isolate)); |
369 } | 375 } |
370 | 376 |
371 | 377 |
372 // static | 378 // static |
373 Callable CodeFactory::InterpreterCEntry(Isolate* isolate, int result_size) { | 379 Callable CodeFactory::InterpreterCEntry(Isolate* isolate, int result_size) { |
374 // Note: If we ever use fpregs in the interpreter then we will need to | 380 // Note: If we ever use fpregs in the interpreter then we will need to |
375 // save fpregs too. | 381 // save fpregs too. |
376 CEntryStub stub(isolate, result_size, kDontSaveFPRegs, kArgvInRegister); | 382 CEntryStub stub(isolate, result_size, kDontSaveFPRegs, kArgvInRegister); |
377 return Callable(stub.GetCode(), InterpreterCEntryDescriptor(isolate)); | 383 return Callable(stub.GetCode(), InterpreterCEntryDescriptor(isolate)); |
378 } | 384 } |
379 | 385 |
380 } // namespace internal | 386 } // namespace internal |
381 } // namespace v8 | 387 } // namespace v8 |
OLD | NEW |