Remove invalid ASSERT in wordRangeForPosition.
https://bugs.webkit.org/show_bug.cgi?id=133232

Reviewed by Ryosuke Niwa.

In WK2 for iOS this function is called on every selection change.
The selection could be set by Javascript in an element that is not visible.
In that case we won't be able to create a VisiblePosition therefore wordRangeForPosition
should not ASSERT that the VisiblePosition is not null, but rather
perform an early return if it is null.

* editing/VisibleUnits.cpp:
(WebCore::wordRangeFromPosition):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] WK2: Provide implementation for windowFrame
https://bugs.webkit.org/show_bug.cgi?id=133205
<rdar://problem/16894890>

Reviewed by Benjamin Poulain.

* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::windowFrame): Added.
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::convertToUserSpace): Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (iOS WebKit2): Autocorrection is not accurate when changing selection.
https://bugs.webkit.org/show_bug.cgi?id=133237
<rdar://problem/16655776>

Reviewed by Ryosuke Niwa.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView beginSelectionChange]):
(-[WKContentView endSelectionChange]):

When the selection is changed with a gesture in an editable element,
we must notify the keyboard to make sure the autocorrection engine 
updates its typing context. WKContentView must implement
beginSelectionChange and endSelectionChange to call into
the keyboard layer.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support inline caching of RegExpMatchesArray.length
<https://webkit.org/b/133234>

Give RegExpMatchesArray.length the same treatment as JSArray in
repatch so we don't have to go out of line on every access.

~13% speed-up on Octane/regexp.

Reviewed by Geoffrey Garen.

* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
* runtime/RegExpMatchesArray.h:
(JSC::isRegExpMatchesArray):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Templatize GC's destructor invocation for dtor type.
<https://webkit.org/b/133231>

Get rid of a branch in callDestructor() by templatizing it for
the DestructorType. Removed JSCell::methodTableForDestruction()
since this was the only call site and it was jumping through
a bunch of unnecessary hoops.

Reviewed by Geoffrey Garen.

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::callDestructor):
(JSC::MarkedBlock::specializedSweep):
* heap/MarkedBlock.h:
* runtime/JSCell.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::methodTableForDestruction): Deleted.


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

Rubber stamped by Filip Pizlo.

Nobody calls this function.

* JavaScriptCore.order:
* jit/JITOperations.cpp:
* jit/JITOperations.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-perf-tests should ignore whitespace lines when snarfing test output
https://bugs.webkit.org/show_bug.cgi?id=133238

Reviewed by Ryosuke Niwa.

Required for PerformanceTests/Canvas/terrain.html.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._run_with_driver):
(PerfTest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Performance testing, diamond-square terrain generation + canvas
https://bugs.webkit.org/show_bug.cgi?id=133054

Reviewed by Ryosuke Niwa.

This test was written by Hunter Loftis. It originally appeared on his
blog @ <http://www.playfuljs.com/realistic-terrain-in-130-lines/>.

I did a bit of editing for format and benchmark suitability.

* Canvas/terrain.html: Added.


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