Ignore:
Timestamp:
Sep 7, 2013, 9:08:01 PM (12 years ago)
Author:
[email protected]
Message:

FTL should support typed array PutByVal
https://bugs.webkit.org/show_bug.cgi?id=120972

Reviewed by Oliver Hunt.

Due to increased FTL coverage, this revealed a bug in LICM where we were trying to
have AI execute the tail of a block that !cfaDidFinish. We don't need to execute AI
for such blocks since LICM will bail for them anyway, and AI asserts that cfaDidFinish
is true.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::buildFPToUI):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::LowerDFGToLLVM::doubleToUInt32):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::fpToUInt):
(JSC::FTL::Output::fpToUInt32):
(JSC::FTL::Output::store8):
(JSC::FTL::Output::store16):
(JSC::FTL::Output::storeFloat):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ftl/FTLCapabilities.cpp

    r155278 r155281  
    156156            break;
    157157        default:
     158            if (isTypedView(node->arrayMode().typedArrayType()))
     159                return CanCompileAndOSREnter;
    158160            return CannotCompile;
    159161        }
Note: See TracChangeset for help on using the changeset viewer.