v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
type-hints.cc
Go to the documentation of this file.
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
#include "
src/objects/type-hints.h
"
6
7
#include <ostream>
8
9
#include "
src/base/logging.h
"
10
11
namespace
v8
{
12
namespace
internal
{
13
14
std::ostream&
operator<<
(std::ostream& os,
BinaryOperationHint
hint) {
15
switch
(hint) {
16
case
BinaryOperationHint::kNone
:
17
return
os <<
"None"
;
18
case
BinaryOperationHint::kSignedSmall
:
19
return
os <<
"SignedSmall"
;
20
case
BinaryOperationHint::kSignedSmallInputs
:
21
return
os <<
"SignedSmallInputs"
;
22
case
BinaryOperationHint::kAdditiveSafeInteger
:
23
return
os <<
"AdditiveSafeInteger"
;
24
case
BinaryOperationHint::kNumber
:
25
return
os <<
"Number"
;
26
case
BinaryOperationHint::kNumberOrOddball
:
27
return
os <<
"NumberOrOddball"
;
28
case
BinaryOperationHint::kString
:
29
return
os <<
"String"
;
30
case
BinaryOperationHint::kStringOrStringWrapper
:
31
return
os <<
"StringOrStringWrapper"
;
32
case
BinaryOperationHint::kBigInt
:
33
return
os <<
"BigInt"
;
34
case
BinaryOperationHint::kBigInt64
:
35
return
os <<
"BigInt64"
;
36
case
BinaryOperationHint::kAny
:
37
return
os <<
"Any"
;
38
}
39
UNREACHABLE
();
40
}
41
42
std::ostream&
operator<<
(std::ostream& os,
CompareOperationHint
hint) {
43
switch
(hint) {
44
case
CompareOperationHint::kNone
:
45
return
os <<
"None"
;
46
case
CompareOperationHint::kSignedSmall
:
47
return
os <<
"SignedSmall"
;
48
case
CompareOperationHint::kNumber
:
49
return
os <<
"Number"
;
50
case
CompareOperationHint::kNumberOrBoolean
:
51
return
os <<
"NumberOrBoolean"
;
52
case
CompareOperationHint::kNumberOrOddball
:
53
return
os <<
"NumberOrOddball"
;
54
case
CompareOperationHint::kInternalizedString
:
55
return
os <<
"InternalizedString"
;
56
case
CompareOperationHint::kString
:
57
return
os <<
"String"
;
58
case
CompareOperationHint::kSymbol
:
59
return
os <<
"Symbol"
;
60
case
CompareOperationHint::kBigInt
:
61
return
os <<
"BigInt"
;
62
case
CompareOperationHint::kBigInt64
:
63
return
os <<
"BigInt64"
;
64
case
CompareOperationHint::kReceiver
:
65
return
os <<
"Receiver"
;
66
case
CompareOperationHint::kReceiverOrNullOrUndefined
:
67
return
os <<
"ReceiverOrNullOrUndefined"
;
68
case
CompareOperationHint::kAny
:
69
return
os <<
"Any"
;
70
}
71
UNREACHABLE
();
72
}
73
74
std::ostream&
operator<<
(std::ostream& os,
ForInHint
hint) {
75
switch
(hint) {
76
case
ForInHint::kNone
:
77
return
os <<
"None"
;
78
case
ForInHint::kEnumCacheKeys
:
79
return
os <<
"EnumCacheKeys"
;
80
case
ForInHint::kEnumCacheKeysAndIndices
:
81
return
os <<
"EnumCacheKeysAndIndices"
;
82
case
ForInHint::kAny
:
83
return
os <<
"Any"
;
84
}
85
UNREACHABLE
();
86
}
87
88
std::ostream&
operator<<
(std::ostream& os,
const
StringAddFlags
& flags) {
89
switch
(flags) {
90
case
STRING_ADD_CHECK_NONE
:
91
return
os <<
"CheckNone"
;
92
case
STRING_ADD_CONVERT_LEFT
:
93
return
os <<
"ConvertLeft"
;
94
case
STRING_ADD_CONVERT_RIGHT
:
95
return
os <<
"ConvertRight"
;
96
}
97
UNREACHABLE
();
98
}
99
100
}
// namespace internal
101
}
// namespace v8
v8::internal::CompareOperationHint
CompareOperationHint
Definition
type-hints.h:39
v8::internal::CompareOperationHint::kSymbol
@ kSymbol
v8::internal::CompareOperationHint::kAny
@ kAny
v8::internal::CompareOperationHint::kString
@ kString
v8::internal::CompareOperationHint::kNone
@ kNone
v8::internal::CompareOperationHint::kNumber
@ kNumber
v8::internal::CompareOperationHint::kNumberOrBoolean
@ kNumberOrBoolean
v8::internal::CompareOperationHint::kSignedSmall
@ kSignedSmall
v8::internal::CompareOperationHint::kNumberOrOddball
@ kNumberOrOddball
v8::internal::CompareOperationHint::kReceiverOrNullOrUndefined
@ kReceiverOrNullOrUndefined
v8::internal::CompareOperationHint::kInternalizedString
@ kInternalizedString
v8::internal::CompareOperationHint::kBigInt64
@ kBigInt64
v8::internal::CompareOperationHint::kBigInt
@ kBigInt
v8::internal::CompareOperationHint::kReceiver
@ kReceiver
v8::internal::StringAddFlags
StringAddFlags
Definition
type-hints.h:72
v8::internal::STRING_ADD_CONVERT_RIGHT
@ STRING_ADD_CONVERT_RIGHT
Definition
type-hints.h:77
v8::internal::STRING_ADD_CHECK_NONE
@ STRING_ADD_CHECK_NONE
Definition
type-hints.h:74
v8::internal::STRING_ADD_CONVERT_LEFT
@ STRING_ADD_CONVERT_LEFT
Definition
type-hints.h:76
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::BinaryOperationHint
BinaryOperationHint
Definition
type-hints.h:18
v8::internal::BinaryOperationHint::kAny
@ kAny
v8::internal::BinaryOperationHint::kAdditiveSafeInteger
@ kAdditiveSafeInteger
v8::internal::BinaryOperationHint::kString
@ kString
v8::internal::BinaryOperationHint::kNone
@ kNone
v8::internal::BinaryOperationHint::kSignedSmallInputs
@ kSignedSmallInputs
v8::internal::BinaryOperationHint::kNumber
@ kNumber
v8::internal::BinaryOperationHint::kSignedSmall
@ kSignedSmall
v8::internal::BinaryOperationHint::kNumberOrOddball
@ kNumberOrOddball
v8::internal::BinaryOperationHint::kStringOrStringWrapper
@ kStringOrStringWrapper
v8::internal::BinaryOperationHint::kBigInt64
@ kBigInt64
v8::internal::BinaryOperationHint::kBigInt
@ kBigInt
v8::internal::operator<<
std::ostream & operator<<(std::ostream &os, AtomicMemoryOrder order)
Definition
atomic-memory-order.h:22
v8::internal::ForInHint
ForInHint
Definition
type-hints.h:62
v8::internal::ForInHint::kEnumCacheKeysAndIndices
@ kEnumCacheKeysAndIndices
v8::internal::ForInHint::kAny
@ kAny
v8::internal::ForInHint::kNone
@ kNone
v8::internal::ForInHint::kEnumCacheKeys
@ kEnumCacheKeys
v8::internal::UNREACHABLE
UNREACHABLE()
v8
Definition
api-arguments-inl.h:19
logging.h
type-hints.h
src
objects
type-hints.cc
Generated on Sun Apr 6 2025 21:08:56 for v8 by
1.12.0