Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / v8 / src / type-feedback-vector-inl.h
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
13 int TypeFeedbackVector::ic_metadata_length() const {
14   return FLAG_vector_ics ? VectorICComputer::word_count(ICSlots()) : 0;
15 }
16
17
18 Handle<Object> TypeFeedbackVector::UninitializedSentinel(Isolate* isolate) {
19   return isolate->factory()->uninitialized_symbol();
20 }
21
22
23 Handle<Object> TypeFeedbackVector::MegamorphicSentinel(Isolate* isolate) {
24   return isolate->factory()->megamorphic_symbol();
25 }
26
27
28 Handle<Object> TypeFeedbackVector::PremonomorphicSentinel(Isolate* isolate) {
29   return isolate->factory()->premonomorphic_symbol();
30 }
31
32
33 Handle<Object> TypeFeedbackVector::GenericSentinel(Isolate* isolate) {
34   return isolate->factory()->generic_symbol();
35 }
36
37
38 Handle<Object> TypeFeedbackVector::MonomorphicArraySentinel(
39     Isolate* isolate, ElementsKind elements_kind) {
40   return Handle<Object>(Smi::FromInt(static_cast<int>(elements_kind)), isolate);
41 }
42
43
44 Object* TypeFeedbackVector::RawUninitializedSentinel(Heap* heap) {
45   return heap->uninitialized_symbol();
46 }
47 }
48 }  // namespace v8::internal
49
50 #endif  // V8_TYPE_FEEDBACK_VECTOR_INL_H_