diff options
author | Refael Ackermann <refack@gmail.com> | 2019-05-28 08:46:21 -0400 |
---|---|---|
committer | Refael Ackermann <refack@gmail.com> | 2019-06-01 09:55:12 -0400 |
commit | ed74896b1fae1c163b3906163f3bf46326618ddb (patch) | |
tree | 7fb05c5a19808e0c5cd95837528e9005999cf540 /deps/v8/src/objects/object-macros.h | |
parent | 2a850cd0664a4eee51f44d0bb8c2f7a3fe444154 (diff) | |
download | android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.gz android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.bz2 android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.zip |
deps: update V8 to 7.5.288.22
PR-URL: https://github.com/nodejs/node/pull/27375
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'deps/v8/src/objects/object-macros.h')
-rw-r--r-- | deps/v8/src/objects/object-macros.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/deps/v8/src/objects/object-macros.h b/deps/v8/src/objects/object-macros.h index 941c68a6a2..da5c157bbc 100644 --- a/deps/v8/src/objects/object-macros.h +++ b/deps/v8/src/objects/object-macros.h @@ -290,9 +290,18 @@ GenerationalBarrier(object, (object)->RawMaybeWeakField(offset), value); \ } while (false) +#define EPHEMERON_KEY_WRITE_BARRIER(object, offset, value) \ + do { \ + DCHECK_NOT_NULL(GetHeapFromWritableObject(object)); \ + EphemeronHashTable table = EphemeronHashTable::cast(object); \ + MarkingBarrier(object, (object)->RawField(offset), value); \ + GenerationalEphemeronKeyBarrier(table, (object)->RawField(offset), value); \ + } while (false) + #define CONDITIONAL_WRITE_BARRIER(object, offset, value, mode) \ do { \ DCHECK_NOT_NULL(GetHeapFromWritableObject(object)); \ + DCHECK_NE(mode, UPDATE_EPHEMERON_KEY_WRITE_BARRIER); \ if (mode != SKIP_WRITE_BARRIER) { \ if (mode == UPDATE_WRITE_BARRIER) { \ MarkingBarrier(object, (object)->RawField(offset), value); \ @@ -304,6 +313,7 @@ #define CONDITIONAL_WEAK_WRITE_BARRIER(object, offset, value, mode) \ do { \ DCHECK_NOT_NULL(GetHeapFromWritableObject(object)); \ + DCHECK_NE(mode, UPDATE_EPHEMERON_KEY_WRITE_BARRIER); \ if (mode != SKIP_WRITE_BARRIER) { \ if (mode == UPDATE_WRITE_BARRIER) { \ MarkingBarrier(object, (object)->RawMaybeWeakField(offset), value); \ @@ -312,6 +322,20 @@ } \ } while (false) +#define CONDITIONAL_EPHEMERON_KEY_WRITE_BARRIER(object, offset, value, mode) \ + do { \ + DCHECK_NOT_NULL(GetHeapFromWritableObject(object)); \ + DCHECK_NE(mode, UPDATE_EPHEMERON_KEY_WRITE_BARRIER); \ + EphemeronHashTable table = EphemeronHashTable::cast(object); \ + if (mode != SKIP_WRITE_BARRIER) { \ + if (mode == UPDATE_WRITE_BARRIER) { \ + MarkingBarrier(object, (object)->RawField(offset), value); \ + } \ + GenerationalEphemeronKeyBarrier(table, (object)->RawField(offset), \ + value); \ + } \ + } while (false) + #define READ_DOUBLE_FIELD(p, offset) ReadDoubleValue(FIELD_ADDR(p, offset)) #define WRITE_DOUBLE_FIELD(p, offset, value) \ @@ -471,8 +495,11 @@ #ifdef VERIFY_HEAP #define DECL_VERIFIER(Name) void Name##Verify(Isolate* isolate); +#define EXPORT_DECL_VERIFIER(Name) \ + V8_EXPORT_PRIVATE void Name##Verify(Isolate* isolate); #else #define DECL_VERIFIER(Name) +#define EXPORT_DECL_VERIFIER(Name) #endif #define DEFINE_DEOPT_ELEMENT_ACCESSORS(name, type) \ |