summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/JavaScriptCore/ChangeLog12
-rw-r--r--Source/JavaScriptCore/LLIntOffsetsExtractor.pro8
-rw-r--r--Source/WebCore/platform/text/TextEncodingRegistry.cpp9
3 files changed, 27 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index 18927d19e..d21e34a30 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,15 @@
+2013-02-27 Simon Hausmann <simon.hausmann@digia.com>
+
+ [Qt][Mac] Fix massive parallel builds
+
+ Reviewed by Tor Arne Vestbø.
+
+ There exists a race condition that LLIntDesiredOffsets.h is written to
+ by two parllel instances of the ruby script. This patch ensures that similar to the output file,
+ the generated file is also prefixed according to the build configuration.
+
+ * LLIntOffsetsExtractor.pro:
+
2012-12-18 Mark Hahnenberg <mhahnenberg@apple.com>
Restrictions on oversize CopiedBlock allocations should be relaxed
diff --git a/Source/JavaScriptCore/LLIntOffsetsExtractor.pro b/Source/JavaScriptCore/LLIntOffsetsExtractor.pro
index 50cdd44ef..97b3529b7 100644
--- a/Source/JavaScriptCore/LLIntOffsetsExtractor.pro
+++ b/Source/JavaScriptCore/LLIntOffsetsExtractor.pro
@@ -8,8 +8,6 @@
TEMPLATE = app
TARGET = LLIntOffsetsExtractor
-macx: DESTDIR = $$activeBuildConfig()
-
debug_and_release {
CONFIG += force_build_all
CONFIG += build_all
@@ -59,6 +57,12 @@ llint.commands = ruby $$llint.script ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
llint.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += llint
+macx {
+ DESTDIR = $$activeBuildConfig()
+ llint.output = $$activeBuildConfig()/$$llint.output
+ INCLUDEPATH += $$activeBuildConfig()
+}
+
# Compilation of this file will automatically depend on LLIntDesiredOffsets.h
# due to qmake scanning the source file for header dependencies.
SOURCES = llint/LLIntOffsetsExtractor.cpp
diff --git a/Source/WebCore/platform/text/TextEncodingRegistry.cpp b/Source/WebCore/platform/text/TextEncodingRegistry.cpp
index 2790227fa..6e95a44fe 100644
--- a/Source/WebCore/platform/text/TextEncodingRegistry.cpp
+++ b/Source/WebCore/platform/text/TextEncodingRegistry.cpp
@@ -71,10 +71,19 @@ struct TextEncodingNameHash {
char c1;
char c2;
do {
+#if defined(_MSC_FULL_VER) && _MSC_FULL_VER == 170051106
+ // Workaround for a bug in the VS2012 Update 1 optimizer, remove once the fix is released.
+ // https://connect.microsoft.com/VisualStudio/feedback/details/777533/vs2012-c-optimizing-bug-when-using-inline-and-char-return-type-x86-target-only
+ c1 = toASCIILower(*s1++);
+ c2 = toASCIILower(*s2++);
+ if (c1 != c2)
+ return false;
+#else
c1 = *s1++;
c2 = *s2++;
if (toASCIILower(c1) != toASCIILower(c2))
return false;
+#endif
} while (c1 && c2);
return !c1 && !c2;
}