Ignore:
Timestamp:
Mar 20, 2008, 10:00:16 PM (17 years ago)
Author:
[email protected]
Message:

Fix for leak introduced by inline ScopeChainNode use

Reviewed by Maciej

To avoid any extra branches when managing an inline ScopeChainNode
in the ScopeChain the inline node gets inserted with a refcount of

  1. This meant than when the ScopeChain was destroyed the ScopeChainNodes

above the inline node would be leaked.

We resolve this by manually popping the inline node in the
FunctionExecState destructor.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r31174 r31205  
    483483                93F1981A08245AAE001E9ABC /* keywords.table */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = keywords.table; sourceTree = "<group>"; tabWidth = 8; };
    484484                95C18D3E0C90E7EF00E72F73 /* JSRetainPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRetainPtr.h; sourceTree = "<group>"; };
     485                A785E3030D9341AB00953772 /* ExecStateInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExecStateInlines.h; sourceTree = "<group>"; };
    485486                A8E894310CD0602400367179 /* JSCallbackObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCallbackObjectFunctions.h; sourceTree = "<group>"; };
    486487                A8E894330CD0603F00367179 /* JSGlobalObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObject.h; sourceTree = "<group>"; };
     
    827828                                14BD53F40A3E12D800BAF59C /* ExecState.cpp */,
    828829                                14BD53F30A3E12D800BAF59C /* ExecState.h */,
     830                                A785E3030D9341AB00953772 /* ExecStateInlines.h */,
    829831                                F692A85E0255597D01FF60F7 /* function.cpp */,
    830832                                F692A85F0255597D01FF60F7 /* function.h */,
Note: See TracChangeset for help on using the changeset viewer.