aboutsummaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorZuzana Svetlikova <zsvetlik@redhat.com>2017-04-26 18:04:40 +0200
committerAnna Henningsen <anna@addaleax.net>2017-04-29 22:09:29 +0200
commitb07e1a828c72dbab5adbbb4a38886fb389e80117 (patch)
tree2af8a9356fff6cfda2f07a6316abacad3b881636 /deps
parent97ec72b76dac67ca4792444c0df16ee798ef5dad (diff)
downloadandroid-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.h2
-rw-r--r--deps/v8/src/objects-inl.h21
-rw-r--r--deps/v8/src/objects.h20
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(