summaryrefslogtreecommitdiffstats
path: root/mozilla-691898.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-691898.patch')
-rw-r--r--mozilla-691898.patch288
1 files changed, 0 insertions, 288 deletions
diff --git a/mozilla-691898.patch b/mozilla-691898.patch
deleted file mode 100644
index d138d84..0000000
--- a/mozilla-691898.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-diff -up xulrunner-14.0.1/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h.691898 xulrunner-14.0.1/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h
---- xulrunner-14.0.1/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h.691898 2012-07-13 23:42:56.000000000 +0200
-+++ xulrunner-14.0.1/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h 2012-07-16 13:46:03.512655482 +0200
-@@ -468,8 +468,6 @@ public:
- {
- sync_instruction_memory((caddr_t)code, size);
- }
--#else
-- #error "The cacheFlush support is missing on this platform."
- #endif
-
- private:
-diff -up xulrunner-14.0.1/mozilla-release/js/src/Makefile.in.691898 xulrunner-14.0.1/mozilla-release/js/src/Makefile.in
---- xulrunner-14.0.1/mozilla-release/js/src/Makefile.in.691898 2012-07-13 23:42:56.000000000 +0200
-+++ xulrunner-14.0.1/mozilla-release/js/src/Makefile.in 2012-07-16 13:48:34.039399155 +0200
-@@ -320,20 +320,22 @@ endif
-
- endif
-
--# For architectures without YARR JIT, PCRE is faster than the YARR
--# interpreter (bug 684559).
--
- ifeq (,$(filter arm% sparc %86 x86_64 mips%,$(TARGET_CPU)))
-
--VPATH += $(srcdir)/yarr/pcre \
-- $(NULL)
-+VPATH += $(srcdir)/assembler \
-+ $(srcdir)/assembler/wtf \
-+ $(srcdir)/assembler/jit \
-+ $(srcdir)/yarr \
-
--CPPSRCS += \
-- pcre_compile.cpp \
-- pcre_exec.cpp \
-- pcre_tables.cpp \
-- pcre_xclass.cpp \
-- pcre_ucp_searchfuncs.cpp \
-+CPPSRCS += ExecutableAllocator.cpp \
-+ ExecutableAllocatorPosix.cpp \
-+ OSAllocatorOS2.cpp \
-+ OSAllocatorPosix.cpp \
-+ OSAllocatorWin.cpp \
-+ PageBlock.cpp \
-+ YarrInterpreter.cpp \
-+ YarrPattern.cpp \
-+ YarrSyntaxChecker.cpp \
- $(NULL)
- else
-
-@@ -903,4 +905,3 @@ endif
- #
- # END kludges for the Nitro assembler
- ###############################################
--
-diff -up xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.cpp.691898 xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.cpp
---- xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.cpp.691898 2012-07-13 23:42:59.000000000 +0200
-+++ xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.cpp 2012-07-16 13:46:03.897657354 +0200
-@@ -168,7 +168,6 @@ MatchPairs::checkAgainst(size_t inputLen
-
- /* detail::RegExpCode */
-
--#if ENABLE_YARR_JIT
- void
- RegExpCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error)
- {
-@@ -200,46 +199,9 @@ RegExpCode::reportYarrError(JSContext *c
- }
- }
-
--#else /* !ENABLE_YARR_JIT */
--
--void
--RegExpCode::reportPCREError(JSContext *cx, int error)
--{
--#define REPORT(msg_) \
-- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \
-- return
-- switch (error) {
-- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred.");
-- case 1: REPORT(JSMSG_TRAILING_SLASH);
-- case 2: REPORT(JSMSG_TRAILING_SLASH);
-- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- case 4: REPORT(JSMSG_BAD_QUANTIFIER);
-- case 5: REPORT(JSMSG_BAD_QUANTIFIER);
-- case 6: REPORT(JSMSG_BAD_CLASS_RANGE);
-- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- case 8: REPORT(JSMSG_BAD_CLASS_RANGE);
-- case 9: REPORT(JSMSG_BAD_QUANTIFIER);
-- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
-- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
-- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- case 14: REPORT(JSMSG_MISSING_PAREN);
-- case 15: REPORT(JSMSG_BAD_BACKREF);
-- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-- default:
-- JS_NOT_REACHED("Precondition violation: unknown PCRE error code.");
-- }
--#undef REPORT
--}
--
--#endif /* ENABLE_YARR_JIT */
--
- bool
- RegExpCode::compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags)
- {
--#if ENABLE_YARR_JIT
- /* Parse the pattern. */
- ErrorCode yarrError;
- YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag),
-@@ -256,7 +218,7 @@ RegExpCode::compile(JSContext *cx, JSLin
- * case we have to bytecode compile it.
- */
-
--#ifdef JS_METHODJIT
-+#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
- if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
- JSC::ExecutableAllocator *execAlloc = cx->runtime->getExecutableAllocator(cx);
- if (!execAlloc) {
-@@ -277,21 +239,11 @@ RegExpCode::compile(JSContext *cx, JSLin
- return false;
- }
-
-+#if ENABLE_YARR_JIT
- codeBlock.setFallBack(true);
-+#endif
- byteCode = byteCompile(yarrPattern, bumpAlloc).get();
- return true;
--#else /* !defined(ENABLE_YARR_JIT) */
-- int error = 0;
-- compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
-- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
-- multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
-- parenCount, &error);
-- if (error) {
-- reportPCREError(cx, error);
-- return false;
-- }
-- return true;
--#endif
- }
-
- RegExpRunStatus
-@@ -306,19 +258,12 @@ RegExpCode::execute(JSContext *cx, const
- else
- result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
- #else
-- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
-+ result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
- #endif
-
- if (result == -1)
- return RegExpRunStatus_Success_NotFound;
-
--#if !ENABLE_YARR_JIT
-- if (result < 0) {
-- reportPCREError(cx, result);
-- return RegExpRunStatus_Error;
-- }
--#endif
--
- JS_ASSERT(result >= 0);
- return RegExpRunStatus_Success;
- }
-diff -up xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.h.691898 xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.h
---- xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.h.691898 2012-07-13 23:42:59.000000000 +0200
-+++ xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject.h 2012-07-16 13:46:03.897657354 +0200
-@@ -52,10 +52,8 @@
- #include "yarr/Yarr.h"
- #if ENABLE_YARR_JIT
- #include "yarr/YarrJIT.h"
--#include "yarr/YarrSyntaxChecker.h"
--#else
--#include "yarr/pcre/pcre.h"
- #endif
-+#include "yarr/YarrSyntaxChecker.h"
-
- /*
- * JavaScript Regular Expressions
-@@ -113,68 +111,51 @@ namespace detail {
-
- class RegExpCode
- {
--#if ENABLE_YARR_JIT
- typedef JSC::Yarr::BytecodePattern BytecodePattern;
- typedef JSC::Yarr::ErrorCode ErrorCode;
-+ typedef JSC::Yarr::YarrPattern YarrPattern;
-+#if ENABLE_YARR_JIT
- typedef JSC::Yarr::JSGlobalData JSGlobalData;
- typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
-- typedef JSC::Yarr::YarrPattern YarrPattern;
-
- /* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
- YarrCodeBlock codeBlock;
-- BytecodePattern *byteCode;
--#else
-- JSRegExp *compiled;
- #endif
-+ BytecodePattern *byteCode;
-
- public:
- RegExpCode()
- :
- #if ENABLE_YARR_JIT
- codeBlock(),
-- byteCode(NULL)
--#else
-- compiled(NULL)
- #endif
-+ byteCode(NULL)
- { }
-
- ~RegExpCode() {
- #if ENABLE_YARR_JIT
- codeBlock.release();
-+#endif
- if (byteCode)
- Foreground::delete_<BytecodePattern>(byteCode);
--#else
-- if (compiled)
-- jsRegExpFree(compiled);
--#endif
- }
-
- static bool checkSyntax(JSContext *cx, TokenStream *tokenStream, JSLinearString *source) {
--#if ENABLE_YARR_JIT
- ErrorCode error = JSC::Yarr::checkSyntax(*source);
- if (error == JSC::Yarr::NoError)
- return true;
-
- reportYarrError(cx, tokenStream, error);
- return false;
--#else
--# error "Syntax checking not implemented for !ENABLE_YARR_JIT"
--#endif
- }
-
- #if ENABLE_YARR_JIT
- static inline bool isJITRuntimeEnabled(JSContext *cx);
-- static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
--#else
-- static void reportPCREError(JSContext *cx, int error);
- #endif
-+ static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
-
- static size_t getOutputSize(size_t pairCount) {
--#if ENABLE_YARR_JIT
- return pairCount * 2;
--#else
-- return pairCount * 3; /* Should be x2, but PCRE has... needs. */
--#endif
- }
-
- bool compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags);
-diff -up xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject-inl.h.691898 xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject-inl.h
---- xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject-inl.h.691898 2012-07-13 23:42:59.000000000 +0200
-+++ xulrunner-14.0.1/mozilla-release/js/src/vm/RegExpObject-inl.h 2012-07-16 13:46:03.898657360 +0200
-@@ -137,6 +137,7 @@ RegExpObject::setSticky(bool enabled)
- setSlot(STICKY_FLAG_SLOT, BooleanValue(enabled));
- }
-
-+#if ENABLE_YARR_JIT
- /* This function should be deleted once bad Android platforms phase out. See bug 604774. */
- inline bool
- detail::RegExpCode::isJITRuntimeEnabled(JSContext *cx)
-@@ -147,6 +148,7 @@ detail::RegExpCode::isJITRuntimeEnabled(
- return true;
- #endif
- }
-+#endif
-
- inline bool
- RegExpToShared(JSContext *cx, JSObject &obj, RegExpGuard *g)
-diff -up xulrunner-14.0.1/mozilla-release/js/src/yarr/wtfbridge.h.691898 xulrunner-14.0.1/mozilla-release/js/src/yarr/wtfbridge.h
---- xulrunner-14.0.1/mozilla-release/js/src/yarr/wtfbridge.h.691898 2012-07-13 23:42:59.000000000 +0200
-+++ xulrunner-14.0.1/mozilla-release/js/src/yarr/wtfbridge.h 2012-07-16 13:46:03.898657360 +0200
-@@ -49,9 +49,7 @@
- #include "jsprvtd.h"
- #include "vm/String.h"
- #include "assembler/wtf/Platform.h"
--#if ENABLE_YARR_JIT
- #include "assembler/jit/ExecutableAllocator.h"
--#endif
-
- namespace JSC { namespace Yarr {
-