Skip to content
  • fpizlo@apple.com's avatar
    DFG Arrayify elimination should replace it with GetButterfly rather than Phantom · f08803ef
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=100441
    
    Reviewed by Oliver Hunt and Gavin Barraclough.
    
    Source/JavaScriptCore: 
    
    Made array profiler's to-string helper behave correctly.
            
    Made Arrayify elimination do the right thing (convert to GetButterfly).
            
    Made CFA's interference analysis track clobbered array modes correctly, mostly by
    simplifying the machinery.
    
    * bytecode/ArrayProfile.cpp:
    (JSC::arrayModesToString):
    * dfg/DFGAbstractState.cpp:
    (JSC::DFG::AbstractState::execute):
    * dfg/DFGAbstractValue.h:
    (JSC::DFG::AbstractValue::clobberArrayModes):
    (AbstractValue):
    * dfg/DFGConstantFoldingPhase.cpp:
    (JSC::DFG::ConstantFoldingPhase::foldConstants):
    
    LayoutTests: 
    
    * fast/js/dfg-arrayify-elimination-expected.txt: Added.
    * fast/js/dfg-arrayify-elimination.html: Added.
    * fast/js/jsc-test-list:
    * fast/js/script-tests/dfg-arrayify-elimination.js: Added.
    (foo):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f08803ef