Skip to content

Commit 0be4d17

Browse files
targosaddaleax
authored andcommitted
v8: fix gcc 7 build errors
Porting #12392 to V8 5.9 Ref: #12392 Fixes: #10388 PR-URL: #13515 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent 1906077 commit 0be4d17

File tree

3 files changed

+26
-17
lines changed

3 files changed

+26
-17
lines changed

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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,27 @@
4646
namespace v8 {
4747
namespace internal {
4848

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

deps/v8/src/objects/hash-table.h

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -135,22 +135,10 @@ class HashTable : public HashTableBase {
135135
public:
136136
typedef Shape ShapeT;
137137

138-
// Wrapper methods
139-
inline uint32_t Hash(Key key) {
140-
if (Shape::UsesSeed) {
141-
return Shape::SeededHash(key, GetHeap()->HashSeed());
142-
} else {
143-
return Shape::Hash(key);
144-
}
145-
}
146-
147-
inline uint32_t HashForObject(Key key, Object* object) {
148-
if (Shape::UsesSeed) {
149-
return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
150-
} else {
151-
return Shape::HashForObject(key, object);
152-
}
153-
}
138+
// Wrapper methods. Defined in src/objects-inl.h
139+
// to break a cycle with src/heap/heap.h.
140+
inline uint32_t Hash(Key key);
141+
inline uint32_t HashForObject(Key key, Object* object);
154142

155143
// Returns a new HashTable object.
156144
MUST_USE_RESULT static Handle<Derived> New(

0 commit comments

Comments
 (0)