Changeset 39951 in webkit for trunk/JavaScriptCore/runtime


Ignore:
Timestamp:
Jan 15, 2009, 3:49:55 PM (16 years ago)
Author:
[email protected]
Message:

2009-01-15 Sam Weinig <[email protected]>

Reviewed by Gavin Barraclough.

Fix crash seen running fast/canvas.

Make sure to mark the ScopeNode and CodeBlock being created
in the re-parse for exception information.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
  • parser/Nodes.h: (JSC::ScopeNode::mark):
  • runtime/Collector.cpp: (JSC::Heap::collect):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
Location:
trunk/JavaScriptCore/runtime
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/Collector.cpp

    r39851 r39951  
    987987    m_globalData->interpreter->registerFile().markCallFrames(this);
    988988    m_globalData->smallStrings.mark();
     989    if (m_globalData->scopeNodeBeingReparsed)
     990        m_globalData->scopeNodeBeingReparsed->mark();
    989991
    990992    JAVASCRIPTCORE_GC_MARKED();
  • trunk/JavaScriptCore/runtime/JSGlobalData.cpp

    r39755 r39951  
    9292    , isSharedInstance(isShared)
    9393    , clientData(0)
     94    , scopeNodeBeingReparsed(0)
    9495    , heap(this)
    9596{
  • trunk/JavaScriptCore/runtime/JSGlobalData.h

    r39670 r39951  
    4747    class Heap;
    4848    class IdentifierTable;
     49    class Interpreter;
    4950    class JSGlobalObject;
    5051    class JSObject;
    5152    class Lexer;
    52     class Interpreter;
    5353    class Parser;
    5454    class ParserRefCounted;
     55    class ScopeNode;
    5556    class Structure;
    5657    class UString;
     
    121122        HashSet<JSObject*> arrayVisitedElements;
    122123
     124        ScopeNode* scopeNodeBeingReparsed;
     125
    123126        Heap heap;
    124127#if ENABLE(ASSEMBLER)
Note: See TracChangeset for help on using the changeset viewer.