diff options
Diffstat (limited to 'development/nodejs/chromium-v8-gcc7.patch')
-rw-r--r-- | development/nodejs/chromium-v8-gcc7.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/development/nodejs/chromium-v8-gcc7.patch b/development/nodejs/chromium-v8-gcc7.patch new file mode 100644 index 0000000000..03d6c2b494 --- /dev/null +++ b/development/nodejs/chromium-v8-gcc7.patch @@ -0,0 +1,69 @@ +diff -up chromium-56.0.2924.87/v8/src/objects-body-descriptors.h.gcc7 chromium-56.0.2924.87/v8/src/objects-body-descriptors.h +--- chromium-56.0.2924.87/v8/src/objects-body-descriptors.h.gcc7 2017-02-28 16:00:27.313172210 -0500 ++++ chromium-56.0.2924.87/v8/src/objects-body-descriptors.h 2017-02-28 16:00:46.016804708 -0500 +@@ -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); + } + }; + +--- deps/v8/src/objects.h.orig 2017-05-11 17:42:34.296905432 +0700 ++++ deps/v8/src/objects.h 2017-05-11 17:44:23.790189039 +0700 +@@ -3261,22 +3261,11 @@ + template <typename Derived, typename Shape, typename Key> + class HashTable : public HashTableBase { + public: +- // 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( +--- deps/v8/src/objects-inl.h.orig 2017-05-11 17:44:47.550817371 +0700 ++++ deps/v8/src/objects-inl.h 2017-05-11 17:45:13.290415065 +0700 +@@ -36,6 +36,25 @@ + 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(); + } |