Don't generate a wasteful isObservable check in isReachableFromOpaqueRoots
https://bugs.webkit.org/show_bug.cgi?id=122802

Reviewed by Mark Hahnenberg.

* bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.

* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSattribute.cpp:
* bindings/scripts/test/JS/JSreadonly.cpp:
Updated results.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Transition *switch* and *scope* JITStubs to JIT operations.
https://bugs.webkit.org/show_bug.cgi?id=122757.

Reviewed by Geoffrey Garen.

Transitioning:
    cti_op_switch_char
    cti_op_switch_imm
    cti_op_switch_string
    cti_op_resolve_scope
    cti_op_get_from_scope
    cti_op_put_to_scope

* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):
(JSC::JIT::emit_op_switch_string):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):
(JSC::JIT::emit_op_switch_string):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
* jit/JITStubs.cpp:
* jit/JITStubs.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, EFL gardening. Below tests don't be failed anymore after enabling subpixel layout.

fast/spatial-navigation/snav-container-white-space.html
fast/spatial-navigation/snav-fully-aligned-horizontally.html
fast/spatial-navigation/snav-iframe-no-scrollable-content.html

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EventPath::updateTouchLists traverses through EventPath thrice
https://bugs.webkit.org/show_bug.cgi?id=122804

Reviewed by Benjamin Poulain.

Instead of traversing through EventPath for each TouchList, traverse through TouchList for every EventContext.
This paves our way to have one-pass traversal over EventPath, and evetually to remove EventContext altogether.

This change should also improve the cache hit rate since all Touch objects tend to be allocated at the same time
but this performance improvement is probably not observable.

* dom/EventContext.h:
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Added a new constructor that takes Touch and
and TouchListType. We need to store these two values in order to update EventContext later.
(WebCore::EventRelatedNodeResolver::touch): Added,
(WebCore::EventRelatedNodeResolver::touchListType): Added.
(WebCore::addRelatedNodeResolversForTouchList): Extracted from updateTouchListsInEventPath.
(WebCore::EventPath::updateTouchLists): Moved the loop over m_path here. Notice that the outer loop iterates
over m_path instead of touchList as done in updateTouchListsInEventPath. The inner loop goes through resolvers
and adds Touch objects each EventContext as needed.


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