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/builtins.h" | 5 #include "src/builtins.h" |
6 | 6 |
7 #include "src/api.h" | 7 #include "src/api.h" |
8 #include "src/api-natives.h" | 8 #include "src/api-natives.h" |
9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/base/once.h" | 10 #include "src/base/once.h" |
(...skipping 3508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3519 case ConvertReceiverMode::kNotNullOrUndefined: | 3519 case ConvertReceiverMode::kNotNullOrUndefined: |
3520 return Call_ReceiverIsNotNullOrUndefined(); | 3520 return Call_ReceiverIsNotNullOrUndefined(); |
3521 case ConvertReceiverMode::kAny: | 3521 case ConvertReceiverMode::kAny: |
3522 return Call_ReceiverIsAny(); | 3522 return Call_ReceiverIsAny(); |
3523 } | 3523 } |
3524 UNREACHABLE(); | 3524 UNREACHABLE(); |
3525 return Handle<Code>::null(); | 3525 return Handle<Code>::null(); |
3526 } | 3526 } |
3527 | 3527 |
3528 | 3528 |
| 3529 Handle<Code> Builtins::TailCallFunction(ConvertReceiverMode mode) { |
| 3530 switch (mode) { |
| 3531 case ConvertReceiverMode::kNullOrUndefined: |
| 3532 return TailCallFunction_ReceiverIsNullOrUndefined(); |
| 3533 case ConvertReceiverMode::kNotNullOrUndefined: |
| 3534 return TailCallFunction_ReceiverIsNotNullOrUndefined(); |
| 3535 case ConvertReceiverMode::kAny: |
| 3536 return TailCallFunction_ReceiverIsAny(); |
| 3537 } |
| 3538 UNREACHABLE(); |
| 3539 return Handle<Code>::null(); |
| 3540 } |
| 3541 |
| 3542 |
| 3543 Handle<Code> Builtins::TailCall(ConvertReceiverMode mode) { |
| 3544 UNREACHABLE(); |
| 3545 switch (mode) { |
| 3546 case ConvertReceiverMode::kNullOrUndefined: |
| 3547 return Call_ReceiverIsNullOrUndefined(); |
| 3548 case ConvertReceiverMode::kNotNullOrUndefined: |
| 3549 return Call_ReceiverIsNotNullOrUndefined(); |
| 3550 case ConvertReceiverMode::kAny: |
| 3551 return Call_ReceiverIsAny(); |
| 3552 } |
| 3553 UNREACHABLE(); |
| 3554 return Handle<Code>::null(); |
| 3555 } |
| 3556 |
| 3557 |
3529 namespace { | 3558 namespace { |
3530 | 3559 |
3531 class RelocatableArguments | 3560 class RelocatableArguments |
3532 : public BuiltinArguments<BuiltinExtraArguments::kTarget>, | 3561 : public BuiltinArguments<BuiltinExtraArguments::kTarget>, |
3533 public Relocatable { | 3562 public Relocatable { |
3534 public: | 3563 public: |
3535 RelocatableArguments(Isolate* isolate, int length, Object** arguments) | 3564 RelocatableArguments(Isolate* isolate, int length, Object** arguments) |
3536 : BuiltinArguments<BuiltinExtraArguments::kTarget>(length, arguments), | 3565 : BuiltinArguments<BuiltinExtraArguments::kTarget>(length, arguments), |
3537 Relocatable(isolate) {} | 3566 Relocatable(isolate) {} |
3538 | 3567 |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3998 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) | 4027 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) |
3999 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) | 4028 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) |
4000 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) | 4029 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) |
4001 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) | 4030 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) |
4002 #undef DEFINE_BUILTIN_ACCESSOR_C | 4031 #undef DEFINE_BUILTIN_ACCESSOR_C |
4003 #undef DEFINE_BUILTIN_ACCESSOR_A | 4032 #undef DEFINE_BUILTIN_ACCESSOR_A |
4004 | 4033 |
4005 | 4034 |
4006 } // namespace internal | 4035 } // namespace internal |
4007 } // namespace v8 | 4036 } // namespace v8 |
OLD | NEW |