1 diff -upr chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h chromium-59.0.3071.86/v8/src/objects/hash-table.h
2 --- chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h 2017-06-05 22:04:29.000000000 +0300
3 +++ chromium-59.0.3071.86/v8/src/objects/hash-table.h 2017-06-06 14:35:41.558245559 +0300
4 @@ -135,22 +135,10 @@ class HashTable : public HashTableBase {
9 - inline uint32_t Hash(Key key) {
10 - if (Shape::UsesSeed) {
11 - return Shape::SeededHash(key, GetHeap()->HashSeed());
13 - return Shape::Hash(key);
17 - inline uint32_t HashForObject(Key key, Object* object) {
18 - if (Shape::UsesSeed) {
19 - return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
21 - return Shape::HashForObject(key, object);
24 + // Wrapper methods. Defined in src/objects-inl.h
25 + // to break a cycle with src/heap/heap.h.
26 + inline uint32_t Hash(Key key);
27 + inline uint32_t HashForObject(Key key, Object* object);
29 // Returns a new HashTable object.
30 MUST_USE_RESULT static Handle<Derived> New(
31 diff -upr chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h chromium-59.0.3071.86/v8/src/objects-body-descriptors.h
32 --- chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h 2017-06-05 22:04:29.000000000 +0300
33 +++ chromium-59.0.3071.86/v8/src/objects-body-descriptors.h 2017-06-06 14:35:41.554912132 +0300
34 @@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
36 template <typename StaticVisitor>
37 static inline void IterateBody(HeapObject* obj, int object_size) {
39 + IterateBody<StaticVisitor>(obj);
43 diff -upr chromium-59.0.3071.86.orig/v8/src/objects-inl.h chromium-59.0.3071.86/v8/src/objects-inl.h
44 --- chromium-59.0.3071.86.orig/v8/src/objects-inl.h 2017-06-05 22:04:29.000000000 +0300
45 +++ chromium-59.0.3071.86/v8/src/objects-inl.h 2017-06-06 14:35:41.558245559 +0300
50 +template <typename Derived, typename Shape, typename Key>
51 +uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
52 + if (Shape::UsesSeed) {
53 + return Shape::SeededHash(key, GetHeap()->HashSeed());
55 + return Shape::Hash(key);
60 +template <typename Derived, typename Shape, typename Key>
61 +uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
63 + if (Shape::UsesSeed) {
64 + return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
66 + return Shape::HashForObject(key, object);
71 PropertyDetails::PropertyDetails(Smi* smi) {
72 value_ = smi->value();