From 87982cb409d8d604c0ff5107de0fdd4c47748259 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Thu, 12 Nov 2020 11:58:39 +0000 Subject: [PATCH] Issue #1679 - Part 2: Some small issues to address buildability. - Explicitly |this| the Asserts in Cell.as<> - Unified deprot in regexp-error.h - Convert RegExpShared* inner() to a reinterpret_cast because for SOME reason .as<> no longer works after the reimport (which is a static cast) --- js/src/gc/Heap.h | 4 ++-- js/src/regexp/regexp-error.h | 1 + js/src/regexp/regexp-shim.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h index 2089415326..2f27702601 100644 --- a/js/src/gc/Heap.h +++ b/js/src/gc/Heap.h @@ -280,13 +280,13 @@ struct Cell template inline T* as() { - MOZ_ASSERT(is()); + MOZ_ASSERT(this->is()); return static_cast(this); } template inline const T* as() const { - MOZ_ASSERT(is()); + MOZ_ASSERT(this->is()); return static_cast(this); } diff --git a/js/src/regexp/regexp-error.h b/js/src/regexp/regexp-error.h index ef9d037dd3..4b495f07d1 100644 --- a/js/src/regexp/regexp-error.h +++ b/js/src/regexp/regexp-error.h @@ -5,6 +5,7 @@ #ifndef V8_REGEXP_REGEXP_ERROR_H_ #define V8_REGEXP_REGEXP_ERROR_H_ +#include "regexp-shim.h" namespace v8 { namespace internal { diff --git a/js/src/regexp/regexp-shim.h b/js/src/regexp/regexp-shim.h index 6b6a8c6394..7677da084b 100644 --- a/js/src/regexp/regexp-shim.h +++ b/js/src/regexp/regexp-shim.h @@ -957,7 +957,7 @@ class JSRegExp : public HeapObject { private: js::RegExpShared* inner() { - return value_.toGCThing()->as(); + return reinterpret_cast(value_.toGCThing()); } };