summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2021-10-26 15:39:39 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2021-10-26 18:12:57 +0200
commit2c1ffc66bf5d5db05018d7b06253b5ca51e557ab (patch)
tree8102692e2315e426db866ba66ba43013bced15f3
parente19477e1129a4c64e023006c59878637d594e99e (diff)
downloadqtscript-dev.tar.gz
Suppress sanitizer for Heap::markConservativelyHEADdev
This function does delibarately corrupt the stack when called from markCurrentThreadConservativelyInternal(). Change-Id: I63504c9bc1b892f9bb236de92bf363b82aebd420 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
index e8f78ee..20e922f 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
@@ -93,6 +93,12 @@
#define COLLECT_ON_EVERY_ALLOCATION 0
+#if defined(__clang__) || defined (__GNUC__)
+# define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address))
+#else
+# define ATTRIBUTE_NO_SANITIZE_ADDRESS
+#endif
+
using std::max;
namespace JSC {
@@ -786,6 +792,7 @@ static inline bool isPossibleCell(void* p)
}
#endif // USE(JSVALUE32)
+ATTRIBUTE_NO_SANITIZE_ADDRESS
void Heap::markConservatively(MarkStack& markStack, void* start, void* end)
{
if (start > end) {