C Loop LLINT layout test regressions.
https://bugs.webkit.org/show_bug.cgi?id=125314.

Reviewed by Geoffrey Garen.

The regression was due to the ENABLE_LLINT_C_LOOP flag not being included
in the build of the WebKit and WebKit2 components. As a result, some fields
in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and
WebKit2. This resulted in VM::m_initializingObjectClass having 2 different
offsets depending on whether it is accessed from WebCore and JSC or from
WebKit and WebKit2, and chaos ensued.

This issue will manifest when we pass --cloop to build-webkit.
The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit
and WebKit2.

Source/WebKit/mac: 

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2: 

* Configurations/FeatureDefines.xcconfig:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce IMAGE_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=125330

Reviewed by Ryosuke Niwa.

Source/WebCore:

As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.

No new tests, no behavior changes.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::resumeAnimatingImagesForLoader):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageFromImage):
* svg/graphics/SVGImage.h:

Source/WebKit2:

As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
BitmapImage, SVGImage can use it to generate toFoo() type case helper functions.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSC: Simplify interface between throw and catch handler
https://bugs.webkit.org/show_bug.cgi?id=125328

Reviewed by Geoffrey Garen.

Simplified the throw - catch interface.  The throw side is only responsible for
jumping to the appropriate op_catch handler or returnFromJavaScript for uncaught
exceptions.  The handler uses the exception values like VM.callFrameForThrow
as appropriate and no longer relies on the throw side putting anything in
registers.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::jumpToExceptionHandler):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_catch):
* llint/LowLevelInterpreter32_64.asm:
(_llint_op_catch):
(_llint_throw_from_slow_path_trampoline):
* llint/LowLevelInterpreter64.asm:
(_llint_op_catch):
(_llint_throw_from_slow_path_trampoline):


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