Ignore:
Timestamp:
Aug 21, 2015, 1:48:59 PM (10 years ago)
Author:
[email protected]
Message:

DFG::NodeOrigin should have a flag determining if exiting is OK right now
https://bugs.webkit.org/show_bug.cgi?id=148323

Reviewed by Saam Barati.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::currentNodeOrigin):
(JSC::DFG::ByteCodeParser::branchData):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertConstant):
(JSC::DFG::InsertionSet::insertConstantForUse):
(JSC::DFG::InsertionSet::insertBottomConstantForUse):

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):

  • dfg/DFGLICMPhase.cpp:

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

  • dfg/DFGNodeOrigin.h:

(JSC::DFG::NodeOrigin::NodeOrigin):
(JSC::DFG::NodeOrigin::isSet):
(JSC::DFG::NodeOrigin::withSemantic):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp

    r188545 r188771  
    14841484            return m_graph.addNode(
    14851485                allocation.identifier()->prediction(), Node::VarArg, MaterializeNewObject,
    1486                 NodeOrigin(
    1487                     allocation.identifier()->origin.semantic,
    1488                     where->origin.forExit),
     1486                where->origin.withSemantic(allocation.identifier()->origin.semantic),
    14891487                OpInfo(set), OpInfo(data), 0, 0);
    14901488        }
     
    14981496            return m_graph.addNode(
    14991497                allocation.identifier()->prediction(), nodeType,
    1500                 NodeOrigin(
    1501                     allocation.identifier()->origin.semantic,
    1502                     where->origin.forExit),
     1498                where->origin.withSemantic(
     1499                    allocation.identifier()->origin.semantic),
    15031500                OpInfo(executable));
    15041501            break;
     
    15111508            return m_graph.addNode(
    15121509                allocation.identifier()->prediction(), Node::VarArg, MaterializeCreateActivation,
    1513                 NodeOrigin(
    1514                     allocation.identifier()->origin.semantic,
    1515                     where->origin.forExit),
     1510                where->origin.withSemantic(
     1511                    allocation.identifier()->origin.semantic),
    15161512                OpInfo(symbolTable), OpInfo(data), 0, 0);
    15171513        }
     
    20942090        if (base->isPhantomAllocation()) {
    20952091            return PromotedHeapLocation(base, location.descriptor()).createHint(
    2096                 m_graph,
    2097                 NodeOrigin(
    2098                     base->origin.semantic,
    2099                     where->origin.forExit),
    2100                 value);
     2092                m_graph, where->origin.withSemantic(base->origin.semantic), value);
    21012093        }
    21022094
     
    21612153                SpecNone,
    21622154                MultiPutByOffset,
    2163                 NodeOrigin(
    2164                     base->origin.semantic,
    2165                     where->origin.forExit),
     2155                where->origin.withSemantic(base->origin.semantic),
    21662156                OpInfo(data),
    21672157                Edge(base, KnownCellUse),
     
    21742164                SpecNone,
    21752165                PutClosureVar,
    2176                 NodeOrigin(
    2177                     base->origin.semantic,
    2178                     where->origin.forExit),
     2166                where->origin.withSemantic(base->origin.semantic),
    21792167                OpInfo(location.info()),
    21802168                Edge(base, KnownCellUse),
Note: See TracChangeset for help on using the changeset viewer.