aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/globals.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2017-12-05 16:41:55 +0100
committerMichaël Zasso <targos@protonmail.com>2017-12-06 12:52:07 +0100
commit1854ba04e9a68f062beb299dd6e1479279b26363 (patch)
treed5b2df9b8c1deb6388f7a728fca8e1c98c779abe /deps/v8/src/globals.h
parentb52c23b75f96e1c9d2c7b3a7e5619170d0a0d8e1 (diff)
downloadandroid-node-v8-1854ba04e9a68f062beb299dd6e1479279b26363.tar.gz
android-node-v8-1854ba04e9a68f062beb299dd6e1479279b26363.tar.bz2
android-node-v8-1854ba04e9a68f062beb299dd6e1479279b26363.zip
deps: update V8 to 6.3.292.46
PR-URL: https://github.com/nodejs/node/pull/16271 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/src/globals.h')
-rw-r--r--deps/v8/src/globals.h29
1 files changed, 24 insertions, 5 deletions
diff --git a/deps/v8/src/globals.h b/deps/v8/src/globals.h
index e06257d35e..c98f55f02f 100644
--- a/deps/v8/src/globals.h
+++ b/deps/v8/src/globals.h
@@ -1256,6 +1256,7 @@ inline uint32_t ObjectHash(Address address) {
// to a more generic type when we combine feedback.
// kSignedSmall -> kSignedSmallInputs -> kNumber -> kNumberOrOddball -> kAny
// kString -> kAny
+// kBigInt -> kAny
// TODO(mythria): Remove kNumber type when crankshaft can handle Oddballs
// similar to Numbers. We don't need kNumber feedback for Turbofan. Extra
// information about Number might reduce few instructions but causes more
@@ -1270,7 +1271,8 @@ class BinaryOperationFeedback {
kNumber = 0x7,
kNumberOrOddball = 0xF,
kString = 0x10,
- kAny = 0x3F
+ kBigInt = 0x20,
+ kAny = 0x7F
};
};
@@ -1297,6 +1299,27 @@ class CompareOperationFeedback {
};
};
+// Type feedback is encoded in such a way that, we can combine the feedback
+// at different points by performing an 'OR' operation. Type feedback moves
+// to a more generic type when we combine feedback.
+// kNone -> kEnumCacheKeysAndIndices -> kEnumCacheKeys -> kAny
+class ForInFeedback {
+ public:
+ enum {
+ kNone = 0x0,
+ kEnumCacheKeysAndIndices = 0x1,
+ kEnumCacheKeys = 0x3,
+ kAny = 0x7
+ };
+};
+STATIC_ASSERT((ForInFeedback::kNone |
+ ForInFeedback::kEnumCacheKeysAndIndices) ==
+ ForInFeedback::kEnumCacheKeysAndIndices);
+STATIC_ASSERT((ForInFeedback::kEnumCacheKeysAndIndices |
+ ForInFeedback::kEnumCacheKeys) == ForInFeedback::kEnumCacheKeys);
+STATIC_ASSERT((ForInFeedback::kEnumCacheKeys | ForInFeedback::kAny) ==
+ ForInFeedback::kAny);
+
enum class UnicodeEncoding : uint8_t {
// Different unicode encodings in a |word32|:
UTF16, // hi 16bits -> trailing surrogate or 0, low 16bits -> lead surrogate
@@ -1417,10 +1440,6 @@ enum IsolateAddressId {
} // namespace internal
} // namespace v8
-// Used by js-builtin-reducer to identify whether ReduceArrayIterator() is
-// reducing a JSArray method, or a JSTypedArray method.
-enum class ArrayIteratorKind { kArray, kTypedArray };
-
namespace i = v8::internal;
#endif // V8_GLOBALS_H_