• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
10 namespace v8 {
11 namespace internal {
12 
UninitializedSentinel(Isolate * isolate)13 Handle<Object> TypeFeedbackVector::UninitializedSentinel(Isolate* isolate) {
14   return isolate->factory()->uninitialized_symbol();
15 }
16 
17 
MegamorphicSentinel(Isolate * isolate)18 Handle<Object> TypeFeedbackVector::MegamorphicSentinel(Isolate* isolate) {
19   return isolate->factory()->megamorphic_symbol();
20 }
21 
22 
PremonomorphicSentinel(Isolate * isolate)23 Handle<Object> TypeFeedbackVector::PremonomorphicSentinel(Isolate* isolate) {
24   return isolate->factory()->megamorphic_symbol();
25 }
26 
27 
GenericSentinel(Isolate * isolate)28 Handle<Object> TypeFeedbackVector::GenericSentinel(Isolate* isolate) {
29   return isolate->factory()->generic_symbol();
30 }
31 
32 
MonomorphicArraySentinel(Isolate * isolate,ElementsKind elements_kind)33 Handle<Object> TypeFeedbackVector::MonomorphicArraySentinel(
34     Isolate* isolate, ElementsKind elements_kind) {
35   return Handle<Object>(Smi::FromInt(static_cast<int>(elements_kind)), isolate);
36 }
37 
38 
RawUninitializedSentinel(Heap * heap)39 Object* 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