builtins-call.cc 1.23 KB
Newer Older
1 2 3 4 5
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "src/builtins/builtins-utils.h"
6
#include "src/builtins/builtins.h"
7
#include "src/handles-inl.h"
8
#include "src/isolate.h"
9
#include "src/objects-inl.h"
10 11 12 13

namespace v8 {
namespace internal {

14 15 16
Handle<Code> Builtins::CallFunction(ConvertReceiverMode mode) {
  switch (mode) {
    case ConvertReceiverMode::kNullOrUndefined:
17
      return builtin_handle(kCallFunction_ReceiverIsNullOrUndefined);
18
    case ConvertReceiverMode::kNotNullOrUndefined:
19
      return builtin_handle(kCallFunction_ReceiverIsNotNullOrUndefined);
20
    case ConvertReceiverMode::kAny:
21
      return builtin_handle(kCallFunction_ReceiverIsAny);
22 23 24 25
  }
  UNREACHABLE();
}

26 27 28
Handle<Code> Builtins::Call(ConvertReceiverMode mode) {
  switch (mode) {
    case ConvertReceiverMode::kNullOrUndefined:
29
      return builtin_handle(kCall_ReceiverIsNullOrUndefined);
30
    case ConvertReceiverMode::kNotNullOrUndefined:
31
      return builtin_handle(kCall_ReceiverIsNotNullOrUndefined);
32
    case ConvertReceiverMode::kAny:
33
      return builtin_handle(kCall_ReceiverIsAny);
34 35 36 37 38 39
  }
  UNREACHABLE();
}

}  // namespace internal
}  // namespace v8