Skip to content
Permalink
Browse files

v8: fix gcc 7 build errors

Porting #12392 to master

Ref: #12392
Fixes: #10388
PR-URL: #12676
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
  • Loading branch information...
Zuzana Svetlikova authored and targos committed Apr 26, 2017
1 parent 14dc300 commit 0f3e69db41c2b6a1863f2454b028f3b3b28a9613
Showing with 26 additions and 17 deletions.
  1. +1 −1 deps/v8/src/objects-body-descriptors.h
  2. +21 −0 deps/v8/src/objects-inl.h
  3. +4 −16 deps/v8/src/objects.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);
}
};

@@ -43,6 +43,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();
}
@@ -3358,22 +3358,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(

0 comments on commit 0f3e69d

Please sign in to comment.
You can’t perform that action at this time.