Skip to content

Commit 0f3e69d

Browse files
Zuzana Svetlikovatargos
Zuzana Svetlikova
authored andcommitted
v8: fix gcc 7 build errors
Porting #12392 to master Ref: #12392 Fixes: #10388 PR-URL: #12676 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent 14dc300 commit 0f3e69d

File tree

3 files changed

+26
-17
lines changed

3 files changed

+26
-17
lines changed

deps/v8/src/objects-body-descriptors.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase {
9999

100100
template <typename StaticVisitor>
101101
static inline void IterateBody(HeapObject* obj, int object_size) {
102-
IterateBody(obj);
102+
IterateBody<StaticVisitor>(obj);
103103
}
104104
};
105105

deps/v8/src/objects-inl.h

+21
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,27 @@
4343
namespace v8 {
4444
namespace internal {
4545

46+
template <typename Derived, typename Shape, typename Key>
47+
uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
48+
if (Shape::UsesSeed) {
49+
return Shape::SeededHash(key, GetHeap()->HashSeed());
50+
} else {
51+
return Shape::Hash(key);
52+
}
53+
}
54+
55+
56+
template <typename Derived, typename Shape, typename Key>
57+
uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
58+
Object* object) {
59+
if (Shape::UsesSeed) {
60+
return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
61+
} else {
62+
return Shape::HashForObject(key, object);
63+
}
64+
}
65+
66+
4667
PropertyDetails::PropertyDetails(Smi* smi) {
4768
value_ = smi->value();
4869
}

deps/v8/src/objects.h

+4-16
Original file line numberDiff line numberDiff line change
@@ -3358,22 +3358,10 @@ class HashTable : public HashTableBase {
33583358
public:
33593359
typedef Shape ShapeT;
33603360

3361-
// Wrapper methods
3362-
inline uint32_t Hash(Key key) {
3363-
if (Shape::UsesSeed) {
3364-
return Shape::SeededHash(key, GetHeap()->HashSeed());
3365-
} else {
3366-
return Shape::Hash(key);
3367-
}
3368-
}
3369-
3370-
inline uint32_t HashForObject(Key key, Object* object) {
3371-
if (Shape::UsesSeed) {
3372-
return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
3373-
} else {
3374-
return Shape::HashForObject(key, object);
3375-
}
3376-
}
3361+
// Wrapper methods. Defined in src/objects-inl.h
3362+
// to break a cycle with src/heap/heap.h.
3363+
inline uint32_t Hash(Key key);
3364+
inline uint32_t HashForObject(Key key, Object* object);
33773365

33783366
// Returns a new HashTable object.
33793367
MUST_USE_RESULT static Handle<Derived> New(

0 commit comments

Comments
 (0)