Backed out changeset 759a68d0af0f (bug 1529933) for bustages in backup-point-bug1315634.js
authorNoemi Erli <nerli@mozilla.com>
Fri, 15 Mar 2019 09:59:40 +0200
changeset 522065 6ea65bcee7cfbbce9dd6824f590f73313a9850b5
parent 522064 759a68d0af0fbdf24b36101503d8c61a879cfc25
child 522066 9daec44d681e328c4827b23f16ad587c325fe20f
push id10871
push usercbrindusan@mozilla.com
push dateMon, 18 Mar 2019 15:49:32 +0000
treeherdermozilla-beta@018abdd16060 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1529933, 1315634
milestone67.0a1
backs out759a68d0af0fbdf24b36101503d8c61a879cfc25
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 759a68d0af0f (bug 1529933) for bustages in backup-point-bug1315634.js
js/src/jit/ProcessExecutableMemory.cpp
--- a/js/src/jit/ProcessExecutableMemory.cpp
+++ b/js/src/jit/ProcessExecutableMemory.cpp
@@ -18,17 +18,16 @@
 #include "jsfriendapi.h"
 #include "jsmath.h"
 #include "jsutil.h"
 
 #include "gc/Memory.h"
 #ifdef JS_CODEGEN_ARM64
 #  include "jit/arm64/vixl/Cpu-vixl.h"
 #endif
-#include "jit/AtomicOperations.h"
 #include "threading/LockGuard.h"
 #include "threading/Mutex.h"
 #include "util/Windows.h"
 #include "vm/MutexIDs.h"
 
 #ifdef XP_WIN
 #  include "mozilla/StackWalk_windows.h"
 #  include "mozilla/WindowsVersion.h"
@@ -721,25 +720,16 @@ bool js::jit::ReprotectRegion(void* star
   // Round size up
   size += (pageSize - 1);
   size &= ~(pageSize - 1);
 
   MOZ_ASSERT((uintptr_t(pageStart) % pageSize) == 0);
 
   execMemory.assertValidAddress(pageStart, size);
 
-  // On weak memory systems, make sure new code is visible on all cores before
-  // addresses of the code are made public.  Now is the latest moment in time
-  // when we can do that, and we're assuming that every other thread that has
-  // written into the memory that is being reprotected here has synchronized
-  // with this thread in such a way that the memory writes have become visible
-  // and we therefore only need to execute the fence once here.  See bug 1529933
-  // for a longer discussion of why this is both necessary and sufficient.
-  AtomicOperations::fenceSeqCst();
-
 #ifdef XP_WIN
   DWORD oldProtect;
   DWORD flags = ProtectionSettingToFlags(protection);
   if (!VirtualProtect(pageStart, size, flags, &oldProtect)) {
     return false;
   }
 #else
   unsigned flags = ProtectionSettingToFlags(protection);