diff options
author | Zuzana Svetlikova <zsvetlik@redhat.com> | 2017-04-26 18:04:40 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-04-29 22:09:29 +0200 |
commit | b07e1a828c72dbab5adbbb4a38886fb389e80117 (patch) | |
tree | 2af8a9356fff6cfda2f07a6316abacad3b881636 /deps | |
parent | 97ec72b76dac67ca4792444c0df16ee798ef5dad (diff) | |
download | android-node-v8-b07e1a828c72dbab5adbbb4a38886fb389e80117.tar.gz android-node-v8-b07e1a828c72dbab5adbbb4a38886fb389e80117.tar.bz2 android-node-v8-b07e1a828c72dbab5adbbb4a38886fb389e80117.zip |
v8: fix gcc 7 build errors
Porting https://github.com/nodejs/node/pull/12392 to master
Ref: https://github.com/nodejs/node/pull/12392
Fixes: https://github.com/nodejs/node/issues/10388
PR-URL: https://github.com/nodejs/node/pull/12676
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/src/objects-body-descriptors.h | 2 | ||||
-rw-r--r-- | deps/v8/src/objects-inl.h | 21 | ||||
-rw-r--r-- | deps/v8/src/objects.h | 20 |
3 files changed, 26 insertions, 17 deletions
diff --git a/deps/v8/src/objects-body-descriptors.h b/deps/v8/src/objects-body-descriptors.h index 91cb8883be..a1c3634bd7 100644 --- a/deps/v8/src/objects-body-descriptors.h +++ b/deps/v8/src/objects-body-descriptors.h @@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase { template <typename StaticVisitor> static inline void IterateBody(HeapObject* obj, int object_size) { - IterateBody(obj); + IterateBody<StaticVisitor>(obj); } }; diff --git a/deps/v8/src/objects-inl.h b/deps/v8/src/objects-inl.h index 6a2bc0f3eb..1ca8fca2fe 100644 --- a/deps/v8/src/objects-inl.h +++ b/deps/v8/src/objects-inl.h @@ -41,6 +41,27 @@ namespace v8 { namespace internal { +template <typename Derived, typename Shape, typename Key> +uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) { + if (Shape::UsesSeed) { + return Shape::SeededHash(key, GetHeap()->HashSeed()); + } else { + return Shape::Hash(key); + } +} + + +template <typename Derived, typename Shape, typename Key> +uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key, + Object* object) { + if (Shape::UsesSeed) { + return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); + } else { + return Shape::HashForObject(key, object); + } +} + + PropertyDetails::PropertyDetails(Smi* smi) { value_ = smi->value(); } diff --git a/deps/v8/src/objects.h b/deps/v8/src/objects.h index fc67349d44..075b9a6d72 100644 --- a/deps/v8/src/objects.h +++ b/deps/v8/src/objects.h @@ -3499,22 +3499,10 @@ class HashTable : public HashTableBase { public: typedef Shape ShapeT; - // Wrapper methods - inline uint32_t Hash(Key key) { - if (Shape::UsesSeed) { - return Shape::SeededHash(key, GetHeap()->HashSeed()); - } else { - return Shape::Hash(key); - } - } - - inline uint32_t HashForObject(Key key, Object* object) { - if (Shape::UsesSeed) { - return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); - } else { - return Shape::HashForObject(key, object); - } - } + // Wrapper methods. Defined in src/objects-inl.h + // to break a cycle with src/heap/heap.h. + inline uint32_t Hash(Key key); + inline uint32_t HashForObject(Key key, Object* object); // Returns a new HashTable object. MUST_USE_RESULT static Handle<Derived> New( |