CTTE: Drag events are only dispatched on Elements.
<https://webkit.org/b/122250>

Reviewed by Antti Koivisto.

We never dispatch drag events on non-Element nodes so tighten up the
code to operate on Elements instead.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move setting of some layout bits to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=122256

Reviewed by Andreas Kling.
        
These bits never apply to RenderText nodes:
        
normalChildNeedsLayout
posChildNeedsLayout
needsSimplifiedNormalFlowLayout
normalChildNeedsLayout
positionedMovementLayout

The code for setting them can be moved to RenderElement.

Also separated the code paths for setting and clearing the bits and uninlined
everything that is not massively popular.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The DFG should use always DFG::Graph methods for determining where special registers are
https://bugs.webkit.org/show_bug.cgi?id=122248

Reviewed by Michael Saboff.
        
This makes it possible to have the DFG use different registers than the other engines
for things like activation and arguments.

* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setLocalStoreElimination):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::activationRegister):
(JSC::DFG::Graph::uncheckedActivationRegister):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::baselineArgumentsRegisterFor):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make LLINT exception stack unwinding consistent with the JIT.
https://bugs.webkit.org/show_bug.cgi?id=122255.

Reviewed by Filip Pizlo.

Previously, the CommonSlowPaths code is expected to behave in an
inconsistent way in terms of whether to unwind the stack when handling
exceptions or not. For the LLINT, the slow path should unwind the stack
before returning. For the JIT, the slow path should not unwind the stack.
This can result in the stack being unwound twice when the exception
being handled is a TerminationException.

This patch fixes the LLINT's expectation so that it expects the same
slow path behavior as the JIT does.

* llint/LLIntExceptions.cpp:
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):



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