* kjs/Activation.h:
* kjs/JSGlobalObject.h:
-2008-01-12 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Mark Rowe.
-
- Fixes leaking of ActivationStackNode objects.
-
- * kjs/JSGlobalObject.cpp:
- (KJS::JSGlobalObject::deleteActivationStack):
- (KJS::JSGlobalObject::~JSGlobalObject):
- (KJS::JSGlobalObject::init):
- (KJS::JSGlobalObject::reset):
- * kjs/JSGlobalObject.h:
-
2008-01-12 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej.
JSGlobalObject* JSGlobalObject::s_head = 0;
-void JSGlobalObject::deleteActivationStack()
-{
- for (ActivationStackNode* currentNode = d()->activations; currentNode; currentNode = currentNode->prev)
- delete currentNode;
-}
-
JSGlobalObject::~JSGlobalObject()
{
ASSERT(JSLock::currentThreadIsHoldingLock());
if (s_head == this)
s_head = 0;
- deleteActivationStack();
-
delete d();
}
d()->recursion = 0;
d()->debugger = 0;
- d()->activations = 0;
-
reset(prototype());
}
ExecState* exec = &d()->globalExec;
- deleteActivationStack();
-
- ActivationStackNode* newStackNode = new ActivationStackNode;
- newStackNode->prev = 0;
- d()->activations = newStackNode;
+ d()->activations = new ActivationStackNode;
d()->activationCount = 0;
// Prototypes