Bug 831884 - Prevent calling MatchOnly on Win64 as a stopgap. r=dvander
authorSean Stangl <sstangl@mozilla.com>
Thu, 17 Jan 2013 17:40:52 -0800
changeset 119221 0c5b6c433508cb8ce80685fb336be2b9021e76e4
parent 119220 229aebf6428ed52d47766f6b08857e6d1c93b865
child 119222 074f935b494a81e1aba3bcdb6fae3490aee35455
push id24195
push userMs2ger@gmail.com
push dateSat, 19 Jan 2013 16:10:11 +0000
treeherdermozilla-central@02e12a80aef9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs831884
milestone21.0a1
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
Bug 831884 - Prevent calling MatchOnly on Win64 as a stopgap. r=dvander
js/src/vm/RegExpObject.cpp
--- a/js/src/vm/RegExpObject.cpp
+++ b/js/src/vm/RegExpObject.cpp
@@ -594,28 +594,30 @@ RegExpShared::executeMatchOnly(JSContext
 
     if (sticky()) {
         displacement = start;
         chars += displacement;
         length -= displacement;
         start = 0;
     }
 
+#ifndef _WIN64 /* Temporary stopgap: see Bug 831884 */
 #if ENABLE_YARR_JIT
     if (!codeBlock.isFallBack()) {
         MatchResult result = codeBlock.execute(chars.get(), start, length);
         if (!result)
             return RegExpRunStatus_Success_NotFound;
 
         match = MatchPair(result.start, result.end);
         match.displace(displacement);
         *lastIndex = match.limit;
         return RegExpRunStatus_Success;
     }
 #endif
+#endif /* _WIN64 */
 
     /*
      * The JIT could not be used, so fall back to the Yarr interpreter.
      * Unfortunately, the interpreter does not have a MatchOnly mode, so a
      * temporary output vector must be provided.
      */
     JS_ASSERT(hasBytecode());
     ScopedMatchPairs matches(&cx->tempLifoAlloc());