Changeset 159321 in webkit


Ignore:
Timestamp:
Nov 14, 2013 4:12:51 PM (10 years ago)
Author:
oliver@apple.com
Message:

Make CLoop easier to build, and make it work
https://bugs.webkit.org/show_bug.cgi?id=124359

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add --cloop to build-jsc, build-webkit and friends.

Also make CLoop build and work again - This meant adding a
couple of missing ENABLE(DFG_JIT) blocks, and fixing a few
other references.

  • Configurations/FeatureDefines.xcconfig:
  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/DFGExitProfile.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

Source/WebCore:

Add cloop configuration info to WebCore FeatureDefines
so that it's consistent with JSC

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Make building with the CLoop forcibly enabled manually
disable the JITs

  • wtf/Platform.h:

Tools:

Add --cloop support to forcibly enable to CLoop build

  • Scripts/build-jsc:
  • Scripts/build-webkit:
Location:
trunk
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r159298 r159321  
     12013-11-14  Oliver Hunt  <oliver@apple.com>
     2
     3        Make CLoop easier to build, and make it work
     4        https://bugs.webkit.org/show_bug.cgi?id=124359
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Add --cloop to build-jsc, build-webkit and friends.
     9
     10        Also make CLoop build and work again - This meant adding a
     11        couple of missing ENABLE(DFG_JIT) blocks, and fixing a few
     12        other references.
     13
     14        * Configurations/FeatureDefines.xcconfig:
     15        * bytecode/BytecodeLivenessAnalysis.cpp:
     16        (JSC::computeUsesForBytecodeOffset):
     17        (JSC::computeDefsForBytecodeOffset):
     18        * bytecode/DFGExitProfile.cpp:
     19        * dfg/DFGCapabilities.cpp:
     20        * dfg/DFGCompilationKey.cpp:
     21        * dfg/DFGCompilationMode.cpp:
     22        * jit/JITExceptions.cpp:
     23        (JSC::genericUnwind):
     24
    1252013-11-14  Michael Saboff  <msaboff@apple.com>
    226
  • trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig

    r159179 r159321  
    187187
    188188ENABLE_FTL_JIT = ;
     189ENABLE_LLINT_C_LOOP = ;
    189190
    190 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_THREADED_HTML_PARSER) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(FEATURE_DEFINES_$(PLATFORM_NAME));
     191FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_THREADED_HTML_PARSER) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
  • trunk/Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysis.cpp

    r159141 r159321  
    334334        return;
    335335    }
     336#define LLINT_HELPER_OPCODES(opcode, length) case opcode:
     337    FOR_EACH_LLINT_OPCODE_EXTENSION(LLINT_HELPER_OPCODES)
     338        return;
     339#undef LLINT_HELPER_OPCODES
    336340    }
    337341}
     
    392396    case op_del_by_id:
    393397    case op_del_by_val:
     398#define LLINT_HELPER_OPCODES(opcode, length) case opcode:
     399        FOR_EACH_LLINT_OPCODE_EXTENSION(LLINT_HELPER_OPCODES);
     400#undef LLINT_HELPER_OPCODES
    394401        return;
    395402    // These all have a single destination for the first argument.
  • trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.cpp

    r153213 r159321  
    2626#include "config.h"
    2727#include "DFGExitProfile.h"
     28
     29#if ENABLE(DFG_JIT)
    2830
    2931#include <wtf/PassOwnPtr.h>
     
    9698
    9799} } // namespace JSC::DFG
     100
     101#endif
  • trunk/Source/JavaScriptCore/dfg/DFGCapabilities.cpp

    r157656 r159321  
    2626#include "config.h"
    2727#include "DFGCapabilities.h"
     28
     29#if ENABLE(DFG_JIT)
    2830
    2931#include "CodeBlock.h"
     
    243245} } // namespace JSC::DFG
    244246
     247#endif
  • trunk/Source/JavaScriptCore/dfg/DFGCompilationKey.cpp

    r154854 r159321  
    2929#include "CodeBlock.h"
    3030
     31#if ENABLE(DFG_JIT)
     32
    3133namespace JSC { namespace DFG {
    3234
     
    4345
    4446
     47#endif
  • trunk/Source/JavaScriptCore/dfg/DFGCompilationMode.cpp

    r154854 r159321  
    2727#include "DFGCompilationMode.h"
    2828
     29#if ENABLE(DFG_JIT)
     30
    2931namespace WTF {
    3032
     
    5254} // namespace WTF
    5355
    54 
     56#endif
  • trunk/Source/JavaScriptCore/jit/JITExceptions.cpp

    r159276 r159321  
    3333#include "JITStubs.h"
    3434#include "JSCJSValue.h"
     35#include "LLIntData.h"
     36#include "LLIntOpcode.h"
    3537#include "LLIntThunks.h"
     38#include "Opcode.h"
     39#include "Operations.h"
    3640#include "VM.h"
    37 #include "Operations.h"
    3841
    3942#if ENABLE(JIT) || ENABLE(LLINT)
     
    5154        catchPCForInterpreter = &callFrame->codeBlock()->instructions()[handler->target];
    5255        catchRoutine = ExecutableBase::catchRoutineFor(handler, catchPCForInterpreter);
    53     } else
     56    } else {
     57#if ENABLE(LLINT_C_LOOP)
     58        catchRoutine = LLInt::getCodePtr(ctiOpThrowNotCaught);
     59#else
    5460        catchRoutine = FunctionPtr(LLInt::getCodePtr(returnFromJavaScript)).value();
     61#endif
     62    }
    5563   
    5664    vm->callFrameForThrow = callFrame;
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp

    r158586 r159321  
    310310    // 3. 64 bit result values will be in t0.
    311311
    312     CLoopRegister t0, t1, t2, t3;
     312    CLoopRegister t0, t1, t2, t3, a1;
    313313#if USE(JSVALUE64)
    314314    CLoopRegister rBasePC, tagTypeNumber, tagMask;
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

    r159276 r159321  
    123123        const newCallFrame = t4
    124124    elsif ARM64
     125        const extraStackSpace = 0
     126        const previousCFR = t4 
     127        const entry = a0
     128        const newCallFrame = a1
     129    elsif C_LOOP
    125130        const extraStackSpace = 0
    126131        const previousCFR = t4 
  • trunk/Source/JavaScriptCore/offlineasm/cloop.rb

    r157937 r159321  
    6969    def clDump
    7070        case name
     71        when "a0"
     72            "a0"
     73        when "a1"
     74            "a1"
     75        when "a2"
     76            "a2"
     77        when "a3"
     78            "a3"
     79        when "a4"
     80            "a4"
     81        when "a5"
     82            "a5"
     83        when "a6"
     84            "a6"
     85        when "a6"
     86            "a6"
    7187        when "t0"
    7288            "t0"
     
    10771093            cloopEmitOpAndBranch(operands, "|", :int32, "!= 0")
    10781094
     1095        when "pushCalleeSaves"
     1096        when "popCalleeSaves"
     1097
     1098
    10791099        # A convenience and compact call to crash because we don't want to use
    10801100        # the generic llint crash mechanism which relies on the availability
  • trunk/Source/WTF/ChangeLog

    r159279 r159321  
     12013-11-14  Oliver Hunt  <oliver@apple.com>
     2
     3        Make CLoop easier to build, and make it work
     4        https://bugs.webkit.org/show_bug.cgi?id=124359
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Make building with the CLoop forcibly enabled manually
     9        disable the JITs
     10
     11        * wtf/Platform.h:
     12
    1132013-11-14  Andreas Kling  <akling@apple.com>
    214
  • trunk/Source/WTF/wtf/Platform.h

    r158848 r159321  
    684684#endif /* !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32_64) */
    685685
     686/* Disable the JITs if we're forcing the cloop to be enabled */
     687#if defined(ENABLE_LLINT_C_LOOP) && ENABLE_LLINT_C_LOOP
     688#define ENABLE_JIT 0
     689#define ENABLE_DFG_JIT 0
     690#define ENABLE_FTL_JIT 0
     691#endif
     692
    686693/* Disable the JIT on versions of GCC prior to 4.1 */
    687694#if !defined(ENABLE_JIT) && COMPILER(GCC) && !GCC_VERSION_AT_LEAST(4, 1, 0)
  • trunk/Source/WebCore/ChangeLog

    r159314 r159321  
     12013-11-14  Oliver Hunt  <oliver@apple.com>
     2
     3        Make CLoop easier to build, and make it work
     4        https://bugs.webkit.org/show_bug.cgi?id=124359
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Add cloop configuration info to WebCore FeatureDefines
     9        so that it's consistent with JSC
     10
     11        * Configurations/FeatureDefines.xcconfig:
     12
    1132013-11-14  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
    214
  • trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig

    r159179 r159321  
    187187
    188188ENABLE_FTL_JIT = ;
     189ENABLE_LLINT_C_LOOP = ;
    189190
    190 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_THREADED_HTML_PARSER) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(FEATURE_DEFINES_$(PLATFORM_NAME));
     191FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_THREADED_HTML_PARSER) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
  • trunk/Tools/ChangeLog

    r159316 r159321  
     12013-11-14  Oliver Hunt  <oliver@apple.com>
     2
     3        Make CLoop easier to build, and make it work
     4        https://bugs.webkit.org/show_bug.cgi?id=124359
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Add --cloop support to forcibly enable to CLoop build
     9
     10        * Scripts/build-jsc:
     11        * Scripts/build-webkit:
     12
    1132013-11-14  Lucas Forschler  <lforschler@apple.com>
    214
  • trunk/Tools/Scripts/build-jsc

    r157607 r159321  
    3939my $showHelp = 0;
    4040my $ftlJIT = 0;
     41my $forceCLoop = 0;
    4142
    4243my $programName = basename($0);
     
    4647  --[no-]coverage               Toggle code coverage support (default: $coverageSupport)
    4748  --[no-]ftl-jit                Toggle FTL JIT support (default: $ftlJIT)
     49  --cloop                       Use C Loop interpreter (default: $forceCLoop)
    4850EOF
    4951
     
    5153    'coverage!' => \$coverageSupport,
    5254    'help' => \$showHelp,
    53     'ftl-jit!' => \$ftlJIT
     55    'ftl-jit!' => \$ftlJIT,
     56    'cloop!' => \$forceCLoop
    5457);
    5558
     
    7477        $ENV{ENABLE_FTL_JIT} = 1;
    7578        push @options, "ENABLE_FTL_JIT=ENABLE_FTL_JIT";
     79    }
     80    if ($forceCLoop) {
     81        $ENV{ENABLE_LLINT_C_LOOP} = 1;
     82        push @options, "ENABLE_LLINT_C_LOOP=ENABLE_LLINT_C_LOOP";
    7683    }
    7784    (system("perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory", productDir()) == 0) or die;
  • trunk/Tools/Scripts/build-webkit

    r157882 r159321  
    177177my @options = ();
    178178my $hasFTLJIT = 0;
     179my $forceCLoop = 0;
    179180
    180181if (isAppleMacWebKit()) {
     
    190191        my $option = option($_->{define}, ${$_->{value}}, $_->{default});
    191192        $hasFTLJIT = 1 if ($_->{define} eq "ENABLE_FTL_JIT") and (${$_->{value}});
     193        $forceCLoop = 1 if ($_->{define} eq "ENABLE_LLINT_C_LOOP") and (${$_->{value}});
    192194        push @options, $option unless $option eq "";
    193195    }
    194196    $ENV{ENABLE_FTL_JIT} = 1 if $hasFTLJIT;
     197    $ENV{ENABLE_LLINT_C_LOOP} = 1 if $forceCLoop;
    195198
    196199    # ANGLE must come before WebCore
  • trunk/Tools/Scripts/webkitperl/FeatureList.pm

    r158659 r159321  
    157157    $xsltSupport,
    158158    $ftlJITSupport,
     159    $forceCLoop,
    159160);
    160161
     
    489490    { option => "ftl-jit", desc => "Toggle FTLJIT support",
    490491      define => "ENABLE_FTL_JIT", default => 0, value => \$ftlJITSupport },
     492
     493    { option => "cloop", desc => "Force use of the llint c loop",
     494      define => "ENABLE_LLINT_C_LOOP", default => 0, value => \$forceCLoop },
    491495);
    492496
Note: See TracChangeset for help on using the changeset viewer.