Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Side by Side Diff: src/compiler/type-hints.h

Issue 2342853002: [TypeFeedbackVector] special ic slots for interpreter compare/binary ops. (Closed)
Patch Set: Code comments. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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_COMPILER_TYPE_HINTS_H_
6 #define V8_COMPILER_TYPE_HINTS_H_
7
8 #include "src/base/flags.h"
9 #include "src/utils.h"
10
11 namespace v8 {
12 namespace internal {
13 namespace compiler {
14
15 // Type hints for an binary operation.
16 enum class BinaryOperationHint : uint8_t {
17 kNone,
18 kSignedSmall,
19 kSigned32,
20 kNumberOrOddball,
21 kString,
22 kAny
23 };
24
25 inline size_t hash_value(BinaryOperationHint hint) {
26 return static_cast<unsigned>(hint);
27 }
28
29 std::ostream& operator<<(std::ostream&, BinaryOperationHint);
30
31 // Type hints for an compare operation.
32 enum class CompareOperationHint : uint8_t {
33 kNone,
34 kSignedSmall,
35 kNumber,
36 kNumberOrOddball,
37 kAny
38 };
39
40 inline size_t hash_value(CompareOperationHint hint) {
41 return static_cast<unsigned>(hint);
42 }
43
44 std::ostream& operator<<(std::ostream&, CompareOperationHint);
45
46 // Type hints for the ToBoolean type conversion.
47 enum class ToBooleanHint : uint16_t {
48 kNone = 0u,
49 kUndefined = 1u << 0,
50 kBoolean = 1u << 1,
51 kNull = 1u << 2,
52 kSmallInteger = 1u << 3,
53 kReceiver = 1u << 4,
54 kString = 1u << 5,
55 kSymbol = 1u << 6,
56 kHeapNumber = 1u << 7,
57 kSimdValue = 1u << 8,
58 kAny = kUndefined | kBoolean | kNull | kSmallInteger | kReceiver | kString |
59 kSymbol | kHeapNumber | kSimdValue
60 };
61
62 std::ostream& operator<<(std::ostream&, ToBooleanHint);
63
64 typedef base::Flags<ToBooleanHint, uint16_t> ToBooleanHints;
65
66 std::ostream& operator<<(std::ostream&, ToBooleanHints);
67
68 DEFINE_OPERATORS_FOR_FLAGS(ToBooleanHints)
69
70 } // namespace compiler
71 } // namespace internal
72 } // namespace v8
73
74 #endif // V8_COMPILER_TYPE_HINTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698