Take care of some ARM64 test failures
https://bugs.webkit.org/show_bug.cgi?id=133090

Reviewed by Geoffrey Garen.

PerformanceTests/SunSpider: 

* profiler-test.yaml: Skip these on not-x86.

Source/JavaScriptCore: 
        
Constant blinding on ARM64 cannot use the scratch register.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::convertInt32ToDouble):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::store64):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::scratchRegisterForBlinding):

Tools: 

* Scripts/run-jsc-stress-tests: Make it easier to conditionally skip things.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Unreviewed. 
Make the layout test more resilient to platform differences in frame positions.

* platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
* platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
operationOptimize() should defer the GC for a while.
<https://webkit.org/b/133103>

Reviewed by Filip Pizlo.

Currently, operationOptimize() only defers the GC until its end.  As a result,
a GC may be triggered just before we return from operationOptimize(), and it may
jettison the optimize codeBlock that we're planning to OSR enter into when we
return from this function.  This is because the OSR entry on-ramp code hasn't
been executed yet, and hence, there is not yet a reference to this new codeBlock
from the stack, and there won't be until we've had a chance to return out of
operationOptimize() to run the OSR entry on-ramp code.

This issue is now fixed by using DeferGCForAWhile instead of DeferGC.  This
ensures that the GC will be deferred until after the OSR entry on-ramp can be
executed.

* jit/JITOperations.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit2/iOS: parented view should be considered hidden if app is backgrounded
https://bugs.webkit.org/show_bug.cgi?id=133099
radar://16942183

Reviewed by Simon Fraser.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewWindowActive):
    - implemented in terms of isViewVisible.
    - FIXME: https://bugs.webkit.org/show_bug.cgi?id=133098
(WebKit::PageClientImpl::isViewFocused):
    - implemented in terms of isViewWindowActive.
    - FIXME: https://bugs.webkit.org/show_bug.cgi?id=133098
(WebKit::PageClientImpl::isViewVisible):
    - take UIApplication applicationState into account in determining visibility.
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
    - implemented in terms of isViewVisible.
(WebKit::PageClientImpl::isVisuallyIdle):
    - implemented in terms of isViewVisible.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
    - register for UIApplicationDidEnterBackgroundNotification.
(-[WKContentView _applicationDidEnterBackground:]):
(-[WKContentView _applicationWillEnterForeground:]):
    - when the application state changes all flags except IsInWindow may be affected.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Correctly maintain the "isInWindow" state for all TiledBackings
https://bugs.webkit.org/show_bug.cgi?id=133095

Reviewed by Tim Horton.

We never updated the "isInWindow" state for TiledBacking that wasn't the RenderView's
backing. Fix it by having RenderLayerCompositor::setIsInWindow() recurse through all
layers (if necessary), updating their state. Also set the state on newly created
TiledBackings.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
(WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::pageTiledBacking): Deleted.
* rendering/RenderLayerCompositor.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Scrolling pages with large TiledBacking content layers creates way too many tiles
https://bugs.webkit.org/show_bug.cgi?id=133101

Reviewed by Tim Horton.

Fix the GraphicsLayerCA::adjustTiledLayerVisibleRect() logic to avoid making giant rects if the old
and new visible rects don't overlap.

* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
* platform/graphics/ca/mac/TileController.h:

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