Changeset 29443 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jan 12, 2008, 8:52:01 PM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r29440 r29443 1 2008-01-12 Cameron Zwarich <[email protected]> 2 3 Reviewed by Mark Rowe. 4 5 Fix http://bugs.webkit.org/show_bug.cgi?id=16852 6 Fixes leaking of ActivationStackNode objects. 7 8 * kjs/JSGlobalObject.cpp: 9 (KJS::JSGlobalObject::deleteActivationStack): 10 (KJS::JSGlobalObject::~JSGlobalObject): 11 (KJS::JSGlobalObject::init): 12 (KJS::JSGlobalObject::reset): 13 * kjs/JSGlobalObject.h: 14 1 15 2008-01-12 Darin Adler <[email protected]> 2 16 -
trunk/JavaScriptCore/kjs/JSGlobalObject.cpp
r29438 r29443 91 91 JSGlobalObject* JSGlobalObject::s_head = 0; 92 92 93 void JSGlobalObject::deleteActivationStack() 94 { 95 ActivationStackNode* prevNode = 0; 96 for (ActivationStackNode* currentNode = d()->activations; currentNode; currentNode = prevNode) { 97 prevNode = currentNode->prev; 98 delete currentNode; 99 } 100 } 101 93 102 JSGlobalObject::~JSGlobalObject() 94 103 { … … 103 112 if (s_head == this) 104 113 s_head = 0; 114 115 deleteActivationStack(); 105 116 106 117 delete d(); … … 128 139 d()->recursion = 0; 129 140 d()->debugger = 0; 141 142 d()->activations = 0; 130 143 131 144 reset(prototype()); … … 203 216 ExecState* exec = &d()->globalExec; 204 217 205 d()->activations = new ActivationStackNode; 218 deleteActivationStack(); 219 ActivationStackNode* newStackNode = new ActivationStackNode; 220 newStackNode->prev = 0; 221 d()->activations = newStackNode; 206 222 d()->activationCount = 0; 207 223 -
trunk/JavaScriptCore/kjs/JSGlobalObject.h
r29438 r29443 245 245 void resetTimeoutCheck(); 246 246 247 void deleteActivationStack(); 247 248 void checkActivationCount(); 248 249
Note:
See TracChangeset
for help on using the changeset viewer.