Unreviewed. Rolling out changes from http://trac.webkit.org/changeset/119130.
Tests match older results.

* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Added.
* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Encapsulate private properties in PerfTestRunner better
https://bugs.webkit.org/show_bug.cgi?id=97833

Reviewed by Ojan Vafai.

PerformanceTests: 

This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
waiting for 10 minutes per each broken test on bots.

* resources/runner.js:
(PerfTestRunner.gc):
(logInDocument): Extracted from PerfTestRunner.log.
(PerfTestRunner.log): Moved.
(logFatalError): Added.
(start): Renamed from PerfTestRunner._start.
(scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
such cases, which in turn ensures notifyDone() is called.
(ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
(finish): Extracted from PerfTestRunner._runLoop.
(PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
(measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
(PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
(measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
(callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.

LayoutTests: 

Override PerfTestRunner.now instead of PerfTestRunner._perSecondRunnerIterator since the latter
is no longer exposed.

* fast/harness/perftests/runs-per-second-iterations-expected.txt:
* fast/harness/perftests/runs-per-second-iterations.html: Increase the runtime of the last 4 runs
since test.timeToRun is no longer supported by PerfTestRunner.
* fast/harness/perftests/runs-per-second-log-expected.txt:
* fast/harness/perftests/runs-per-second-log.html: Avoid use numbers that contain primes other
than 2 and 5 as runs because they cause rouding errors in PerfTestRunner.measureRunsPerSecondOnce
and make the output dependent on the underlying floating number implementation.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skipping flaky test on Windows: inspector/debugger/dynamic-script-tag.html.
https://bugs.webkit.org/show_bug.cgi?id=98095

* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r130062.
http://trac.webkit.org/changeset/130062
https://bugs.webkit.org/show_bug.cgi?id=98001

Causes a ton of gtest failures on the chromium bots.

* platform/chromium/LanguageChromium.cpp:
(WebCore::platformLanguage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Address a FIXME in JSArray::sort
https://bugs.webkit.org/show_bug.cgi?id=98080
<rdar://problem/12407844>

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

Get rid of fast sorting of sparse maps. I don't know that it's broken but I do know that we don't
have coverage for it. Then also address the FIXME in JSArray::sort regarding side-effecting
compare functions.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSort):
* runtime/JSArray.cpp:
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSArray):
* runtime/JSObject.h:
(JSC::JSObject::hasSparseMap):
(JSObject):

LayoutTests: 

* fast/js/jsc-test-list:
* fast/js/script-tests/sort-with-side-effecting-comparisons.js: Added.
* fast/js/sort-with-side-effecting-comparisons-expected.txt: Added.
* fast/js/sort-with-side-effecting-comparisons.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-traverse gets 4% faster)
https://bugs.webkit.org/show_bug.cgi?id=97974

Reviewed by Kentaro Hara.

Previously, we stored a pointer to a handle to a wrapper in Node. That
is an extra layer of indirection that slows down finding the wrapper
for the node. A handle is just a pointer, so we might as we just store
the handle in the Node directly. That speeds up dom-traverse by about 4%.

We were using the extra layer of indirection in IntrusiveDOMWrapperMap
to make removal more efficient. Rather than using a chunked table, we
now use a HashSet, which also lets us remove elements quickly.

* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
(WebCore::IntrusiveDOMWrapperMap::get):
(WebCore::IntrusiveDOMWrapperMap::set):
(WebCore::IntrusiveDOMWrapperMap::contains):
(WebCore::IntrusiveDOMWrapperMap::visit):
(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
(WebCore::IntrusiveDOMWrapperMap::clear):
* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::ScriptWrappable):
(WebCore::ScriptWrappable::wrapper):
(WebCore::ScriptWrappable::setWrapper):
(WebCore::ScriptWrappable::disposeWrapper):
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speculative GTK build fix after http://trac.webkit.org/changeset/130091

* GNUmakefile.list.am:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r130079.
http://trac.webkit.org/changeset/130079
https://bugs.webkit.org/show_bug.cgi?id=95866

Broke the chomium windows compile.

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::getFontData):
* css/CSSFontFace.h:
(CSSFontFace):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontFaceSource.h:
(CSSFontFaceSource):
* css/CSSFontSelector.cpp:
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFontData):
* css/CSSFontSelector.h:
* css/CSSSegmentedFontFace.cpp:
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::getFontData):
* css/CSSSegmentedFontFace.h:
(CSSSegmentedFontFace):
* dom/Document.cpp:
(WebCore::Document::registerCustomFont):
* dom/Document.h:
(Document):
* platform/graphics/Font.h:
(WebCore):
* platform/graphics/FontCache.cpp:
(WebCore):
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::getNonRetainedLastResortFallbackFont):
(WebCore::FontCache::releaseFontData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::getFontData):
* platform/graphics/FontCache.h:
(FontCache):
* platform/graphics/FontData.h:
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::setPlatformFont):
* platform/graphics/FontFallbackList.h:
(FontFallbackList):
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):
* platform/graphics/FontSelector.h:
(FontSelector):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::fontDataForCharacter):
* platform/graphics/SegmentedFontData.h:
(WebCore::FontDataRange::FontDataRange):
(WebCore::FontDataRange::fontData):
(FontDataRange):
(SegmentedFontData):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::verticalRightOrientationFontData):
(WebCore::SimpleFontData::uprightOrientationFontData):
(WebCore::SimpleFontData::brokenIdeographFontData):
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::variantFontData):
(DerivedFontData):
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(GetLastResortFallbackFontProcData):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/pango/FontCachePango.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/pango/SimpleFontDataPango.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/wince/FontCacheWinCE.cpp:
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/wx/SimpleFontDataWx.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130105 268f45cc-cd09-0410-ab3c-d52691b4dbfc