Skip to content
  • oliver@apple.com's avatar
    fourthTier: Add CFG simplification for Switch · 6ce44688
    oliver@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=117677
    
    Source/JavaScriptCore:
    
    Reviewed by Mark Hahnenberg.
    
    This is for completeness. It only speeds up a microbenchmark at this point.
    Broadly, we want all control constructs to be known to the CFG simplifier.
    
    * dfg/DFGCFGSimplificationPhase.cpp:
    (JSC::DFG::CFGSimplificationPhase::run):
    (JSC::DFG::CFGSimplificationPhase::convertToJump):
    (CFGSimplificationPhase):
    (JSC::DFG::CFGSimplificationPhase::noBlocks):
    (JSC::DFG::CFGSimplificationPhase::oneBlock):
    (JSC::DFG::CFGSimplificationPhase::mergeBlocks):
    * runtime/JSCJSValue.h:
    (JSValue):
    * runtime/JSCJSValueInlines.h:
    (JSC::JSValue::pureStrictEqual):
    (JSC):
    
    Source/WTF:
    
    Reviewed by Mark Hahnenberg.
    
    * wtf/TriState.h:
    * wtf/text/StringImpl.h:
    
    LayoutTests:
    
    Reviewed by Mark Hahnenberg.
    
    * fast/js/regress/script-tests/switch-constant.js: Added.
    (foo):
    (bar):
    * fast/js/regress/script-tests/switch.js: Added.
    (foo):
    (bar):
    * fast/js/regress/switch-constant-expected.txt: Added.
    * fast/js/regress/switch-constant.html: Added.
    * fast/js/regress/switch-expected.txt: Added.
    * fast/js/regress/switch.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6ce44688