⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 179767 in webkit


Ignore:
Timestamp:
Feb 6, 2015, 3:37:39 PM (12 years ago)
Author:
fpizlo@apple.com
Message:

DFG SSA shouldn't have SetArgument nodes
https://bugs.webkit.org/show_bug.cgi?id=141342

Reviewed by Mark Lam.

I was wondering why we kept the SetArgument around for captured
variables. It turns out we did so because we thought we had to, even
though we didn't have to. The node is meaningless in SSA.

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r179756 r179767  
     12015-02-06  Filip Pizlo  <fpizlo@apple.com>
     2
     3        DFG SSA shouldn't have SetArgument nodes
     4        https://bugs.webkit.org/show_bug.cgi?id=141342
     5
     6        Reviewed by Mark Lam.
     7
     8        I was wondering why we kept the SetArgument around for captured
     9        variables. It turns out we did so because we thought we had to, even
     10        though we didn't have to. The node is meaningless in SSA.
     11
     12        * dfg/DFGSSAConversionPhase.cpp:
     13        (JSC::DFG::SSAConversionPhase::run):
     14        * ftl/FTLLowerDFGToLLVM.cpp:
     15        (JSC::FTL::LowerDFGToLLVM::compileNode):
     16
    1172015-02-06  Filip Pizlo  <fpizlo@apple.com>
    218
  • trunk/Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp

    r179503 r179767  
    199199        //     valueForOperand.
    200200        //
    201         //   - SetArgument is removed unless it's a captured variable. Note that GetArgument nodes
    202         //     have already been inserted.
     201        //   - SetArgument is removed. Note that GetArgument nodes have already been inserted.
    203202        Operands<Node*> valueForOperand(OperandsLike, m_graph.block(0)->variablesAtHead);
    204203        for (BasicBlock* block : m_graph.blocksInPreOrder()) {
     
    335334                   
    336335                case SetArgument: {
    337                     VariableAccessData* variable = node->variableAccessData();
    338                     if (variable->isCaptured())
    339                         break;
    340336                    node->convertToPhantom();
    341337                    break;
  • trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp

    r179538 r179767  
    736736
    737737        case PhantomLocal:
    738         case SetArgument:
    739738        case LoopHint:
    740739        case VariableWatchpoint:
Note: See TracChangeset for help on using the changeset viewer.