diff options
author | Myles Borins <mylesborins@google.com> | 2019-10-04 17:03:17 -0400 |
---|---|---|
committer | Myles Borins <myles.borins@gmail.com> | 2019-10-07 03:20:36 -0400 |
commit | 80f2b6736724e0a3b90731deb9503013edc7d85e (patch) | |
tree | 4c79a1912a4dc3280603752bdd91dd43a78bcaad /deps | |
parent | eeafb263f458612403cb134ae95805ecfcfc9f5e (diff) | |
download | android-node-v8-80f2b6736724e0a3b90731deb9503013edc7d85e.tar.gz android-node-v8-80f2b6736724e0a3b90731deb9503013edc7d85e.tar.bz2 android-node-v8-80f2b6736724e0a3b90731deb9503013edc7d85e.zip |
deps: patch V8 to 7.8.279.14
Refs: https://github.com/v8/v8/compare/7.8.279.12...7.8.279.14
PR-URL: https://github.com/nodejs/node/pull/29694
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/include/v8-version.h | 2 | ||||
-rw-r--r-- | deps/v8/src/heap/heap.cc | 4 | ||||
-rw-r--r-- | deps/v8/src/heap/mark-compact.cc | 13 | ||||
-rw-r--r-- | deps/v8/src/heap/scavenger.cc | 13 | ||||
-rw-r--r-- | deps/v8/src/ic/ic.cc | 5 | ||||
-rw-r--r-- | deps/v8/src/objects/lookup.cc | 8 |
6 files changed, 15 insertions, 30 deletions
diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 46fd905b3c..09afd6248c 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 7 #define V8_MINOR_VERSION 8 #define V8_BUILD_NUMBER 279 -#define V8_PATCH_LEVEL 12 +#define V8_PATCH_LEVEL 14 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/heap/heap.cc b/deps/v8/src/heap/heap.cc index 51f300b577..ff3b34cfb4 100644 --- a/deps/v8/src/heap/heap.cc +++ b/deps/v8/src/heap/heap.cc @@ -3397,10 +3397,6 @@ void Heap::NotifyObjectLayoutChange(HeapObject object, int size, ->RegisterObjectWithInvalidatedSlots<OLD_TO_OLD>(object, size); } } - if (MayContainRecordedSlots(object)) { - MemoryChunk::FromHeapObject(object) - ->RegisterObjectWithInvalidatedSlots<OLD_TO_NEW>(object, size); - } #ifdef VERIFY_HEAP if (FLAG_verify_heap) { DCHECK(pending_layout_change_object_.is_null()); diff --git a/deps/v8/src/heap/mark-compact.cc b/deps/v8/src/heap/mark-compact.cc index e763d02e9f..f7067a60ea 100644 --- a/deps/v8/src/heap/mark-compact.cc +++ b/deps/v8/src/heap/mark-compact.cc @@ -3419,18 +3419,7 @@ class RememberedSetUpdatingItem : public UpdatingItem { SlotSet::PREFREE_EMPTY_BUCKETS); } - if (chunk_->invalidated_slots<OLD_TO_NEW>() != nullptr) { -#ifdef DEBUG - for (auto object_size : *chunk_->invalidated_slots<OLD_TO_NEW>()) { - HeapObject object = object_size.first; - int size = object_size.second; - DCHECK_LE(object.SizeFromMap(object.map()), size); - } -#endif - // The invalidated slots are not needed after old-to-new slots were - // processed. - chunk_->ReleaseInvalidatedSlots<OLD_TO_NEW>(); - } + DCHECK_NULL(chunk_->invalidated_slots<OLD_TO_NEW>()); if ((updating_mode_ == RememberedSetUpdatingMode::ALL) && (chunk_->slot_set<OLD_TO_OLD, AccessMode::NON_ATOMIC>() != nullptr)) { diff --git a/deps/v8/src/heap/scavenger.cc b/deps/v8/src/heap/scavenger.cc index e08717ac27..7d56882953 100644 --- a/deps/v8/src/heap/scavenger.cc +++ b/deps/v8/src/heap/scavenger.cc @@ -439,18 +439,7 @@ void Scavenger::ScavengePage(MemoryChunk* page) { }, SlotSet::KEEP_EMPTY_BUCKETS); - if (page->invalidated_slots<OLD_TO_NEW>() != nullptr) { -#ifdef DEBUG - for (auto object_size : *page->invalidated_slots<OLD_TO_NEW>()) { - HeapObject object = object_size.first; - int size = object_size.second; - DCHECK_LE(object.SizeFromMap(object.map()), size); - } -#endif - // The invalidated slots are not needed after old-to-new slots were - // processed. - page->ReleaseInvalidatedSlots<OLD_TO_NEW>(); - } + DCHECK_NULL(page->invalidated_slots<OLD_TO_NEW>()); RememberedSet<OLD_TO_NEW>::IterateTyped( page, [=](SlotType type, Address addr) { diff --git a/deps/v8/src/ic/ic.cc b/deps/v8/src/ic/ic.cc index 3c8d1ea582..54f4be7a22 100644 --- a/deps/v8/src/ic/ic.cc +++ b/deps/v8/src/ic/ic.cc @@ -4,6 +4,7 @@ #include "src/ic/ic.h" +#include "include/v8config.h" #include "src/api/api-arguments-inl.h" #include "src/api/api.h" #include "src/ast/ast.h" @@ -651,6 +652,10 @@ void IC::PatchCache(Handle<Name> name, const MaybeObjectHandle& handler) { } } +#if defined(__clang__) && defined(V8_OS_WIN) +// Force function alignment to work around CPU bug: https://crbug.com/968683 +__attribute__((__aligned__(32))) +#endif void LoadIC::UpdateCaches(LookupIterator* lookup) { Handle<Object> code; if (lookup->state() == LookupIterator::ACCESS_CHECK) { diff --git a/deps/v8/src/objects/lookup.cc b/deps/v8/src/objects/lookup.cc index 445d0815f3..4646b71a9e 100644 --- a/deps/v8/src/objects/lookup.cc +++ b/deps/v8/src/objects/lookup.cc @@ -4,6 +4,7 @@ #include "src/objects/lookup.h" +#include "include/v8config.h" #include "src/deoptimizer/deoptimizer.h" #include "src/execution/isolate-inl.h" #include "src/execution/protectors-inl.h" @@ -978,7 +979,12 @@ Handle<Map> LookupIterator::GetFieldOwnerMap() const { isolate_); } -FieldIndex LookupIterator::GetFieldIndex() const { +#if defined(__clang__) && defined(V8_OS_WIN) +// Force function alignment to work around CPU bug: https://crbug.com/968683 +__attribute__((__aligned__(32))) +#endif +FieldIndex +LookupIterator::GetFieldIndex() const { DCHECK(has_property_); DCHECK(holder_->HasFastProperties(isolate_)); DCHECK_EQ(kField, property_details_.location()); |