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
3// found in the LICENSE file.
4
5#ifndef V8_TYPE_FEEDBACK_VECTOR_INL_H_
6#define V8_TYPE_FEEDBACK_VECTOR_INL_H_
7
8#include "src/type-feedback-vector.h"
9
10namespace v8 {
11namespace internal {
12
13Handle<Object> TypeFeedbackVector::UninitializedSentinel(Isolate* isolate) {
14  return isolate->factory()->uninitialized_symbol();
15}
16
17
18Handle<Object> TypeFeedbackVector::MegamorphicSentinel(Isolate* isolate) {
19  return isolate->factory()->megamorphic_symbol();
20}
21
22
23Handle<Object> TypeFeedbackVector::PremonomorphicSentinel(Isolate* isolate) {
24  return isolate->factory()->megamorphic_symbol();
25}
26
27
28Handle<Object> TypeFeedbackVector::GenericSentinel(Isolate* isolate) {
29  return isolate->factory()->generic_symbol();
30}
31
32
33Handle<Object> TypeFeedbackVector::MonomorphicArraySentinel(
34    Isolate* isolate, ElementsKind elements_kind) {
35  return Handle<Object>(Smi::FromInt(static_cast<int>(elements_kind)), isolate);
36}
37
38
39Object* TypeFeedbackVector::RawUninitializedSentinel(Heap* heap) {
40  return heap->uninitialized_symbol();
41}
42}
43}  // namespace v8::internal
44
45#endif  // V8_TYPE_FEEDBACK_VECTOR_INL_H_
46