summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorMyles Borins <mylesborins@google.com>2019-10-04 17:03:17 -0400
committerMyles Borins <myles.borins@gmail.com>2019-10-07 03:20:36 -0400
commit80f2b6736724e0a3b90731deb9503013edc7d85e (patch)
tree4c79a1912a4dc3280603752bdd91dd43a78bcaad /deps
parenteeafb263f458612403cb134ae95805ecfcfc9f5e (diff)
downloadandroid-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.h2
-rw-r--r--deps/v8/src/heap/heap.cc4
-rw-r--r--deps/v8/src/heap/mark-compact.cc13
-rw-r--r--deps/v8/src/heap/scavenger.cc13
-rw-r--r--deps/v8/src/ic/ic.cc5
-rw-r--r--deps/v8/src/objects/lookup.cc8
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());