-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
---- chromium-59.0.3071.86.orig/v8/src/objects/hash-table.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects/hash-table.h 2017-06-06 14:35:41.558245559 +0300
-@@ -135,22 +135,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(
-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
---- chromium-59.0.3071.86.orig/v8/src/objects-body-descriptors.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects-body-descriptors.h 2017-06-06 14:35:41.554912132 +0300
-@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
-
- template <typename StaticVisitor>
- static inline void IterateBody(HeapObject* obj, int object_size) {
-- IterateBody(obj);
-+ IterateBody<StaticVisitor>(obj);
- }
- };
-
-diff -upr chromium-59.0.3071.86.orig/v8/src/objects-inl.h chromium-59.0.3071.86/v8/src/objects-inl.h
---- chromium-59.0.3071.86.orig/v8/src/objects-inl.h 2017-06-05 22:04:29.000000000 +0300
-+++ chromium-59.0.3071.86/v8/src/objects-inl.h 2017-06-06 14:35:41.558245559 +0300
-@@ -46,6 +46,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();
- }