Changeset 29438 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jan 12, 2008, 7:43:03 AM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r29437 r29438 11 11 12 12 * kjs/Activation.h: 13 * kjs/JSGlobalObject.h:14 15 2008-01-12 Cameron Zwarich <[email protected]>16 17 Reviewed by Mark Rowe.18 19 Fixes leaking of ActivationStackNode objects.20 21 * kjs/JSGlobalObject.cpp:22 (KJS::JSGlobalObject::deleteActivationStack):23 (KJS::JSGlobalObject::~JSGlobalObject):24 (KJS::JSGlobalObject::init):25 (KJS::JSGlobalObject::reset):26 13 * kjs/JSGlobalObject.h: 27 14 -
trunk/JavaScriptCore/kjs/JSGlobalObject.cpp
r29435 r29438 91 91 JSGlobalObject* JSGlobalObject::s_head = 0; 92 92 93 void JSGlobalObject::deleteActivationStack()94 {95 for (ActivationStackNode* currentNode = d()->activations; currentNode; currentNode = currentNode->prev)96 delete currentNode;97 }98 99 93 JSGlobalObject::~JSGlobalObject() 100 94 { … … 109 103 if (s_head == this) 110 104 s_head = 0; 111 112 deleteActivationStack();113 105 114 106 delete d(); … … 136 128 d()->recursion = 0; 137 129 d()->debugger = 0; 138 139 d()->activations = 0;140 130 141 131 reset(prototype()); … … 213 203 ExecState* exec = &d()->globalExec; 214 204 215 deleteActivationStack(); 216 217 ActivationStackNode* newStackNode = new ActivationStackNode; 218 newStackNode->prev = 0; 219 d()->activations = newStackNode; 205 d()->activations = new ActivationStackNode; 220 206 d()->activationCount = 0; 221 207 -
trunk/JavaScriptCore/kjs/JSGlobalObject.h
r29436 r29438 245 245 void resetTimeoutCheck(); 246 246 247 void deleteActivationStack();248 247 void checkActivationCount(); 249 248
Note:
See TracChangeset
for help on using the changeset viewer.