зеркало из https://github.com/mozilla/pjs.git
Leakage fixes.
This commit is contained in:
Родитель
91389b8442
Коммит
6b894ed47b
|
@ -146,7 +146,7 @@ static int readEvalPrint(FILE *in)
|
|||
js2val rval = metadata->ExecuteStmtList(RunPhase, parsedStatements);
|
||||
if (!JS2VAL_IS_VOID(rval))
|
||||
stdOut << *metadata->toString(rval) << '\n';
|
||||
metadata->restoreCompilationUnit(oldData);
|
||||
metadata->restoreCompilationUnit(oldData);
|
||||
}
|
||||
}
|
||||
clear(buffer);
|
||||
|
@ -414,7 +414,7 @@ int main(int argc, char **argv)
|
|||
result = readEvalPrint(stdin);
|
||||
delete metadata;
|
||||
world->identifiers.clear();
|
||||
delete world;
|
||||
delete world;
|
||||
return result;
|
||||
}
|
||||
catch (Exception &e) {
|
||||
|
|
|
@ -441,12 +441,12 @@ namespace MetaData {
|
|||
execStackLimit = execStack + INITIAL_EXEC_STACK;
|
||||
activationStackTop = activationStack = new ActivationFrame[MAX_ACTIVATION_STACK];
|
||||
}
|
||||
|
||||
JS2Engine::~JS2Engine()
|
||||
{
|
||||
delete [] execStack;
|
||||
delete [] activationStack;
|
||||
}
|
||||
|
||||
JS2Engine::~JS2Engine()
|
||||
{
|
||||
delete [] execStack;
|
||||
delete [] activationStack;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
|
|
|
@ -178,8 +178,8 @@ void dumpBytecode(BytecodeContainer *bCon);
|
|||
class JS2Engine {
|
||||
public:
|
||||
|
||||
JS2Engine(World &world);
|
||||
~JS2Engine();
|
||||
JS2Engine(World &world);
|
||||
~JS2Engine();
|
||||
|
||||
js2val interpret(Phase execPhase, BytecodeContainer *targetbCon, Environment *env);
|
||||
js2val interpreterLoop();
|
||||
|
|
|
@ -153,11 +153,11 @@ namespace MetaData {
|
|||
}
|
||||
catch (Exception &x) {
|
||||
referenceArena->clear();
|
||||
delete referenceArena;
|
||||
delete referenceArena;
|
||||
referenceArena = oldArena;
|
||||
throw x;
|
||||
}
|
||||
referenceArena->clear();
|
||||
referenceArena->clear();
|
||||
delete referenceArena;
|
||||
referenceArena = oldArena;
|
||||
|
||||
|
|
|
@ -3446,8 +3446,8 @@ XXX see EvalAttributeExpression, where identifiers are being handled for now...
|
|||
bConList.clear();
|
||||
targetList.clear();
|
||||
JS2Object::clear(this); // don't blow off the contents of 'this' as the destructors for
|
||||
// embedded objects will get messed up (as they run on exit).
|
||||
delete engine;
|
||||
// embedded objects will get messed up (as they run on exit).
|
||||
delete engine;
|
||||
if (bCon) delete bCon;
|
||||
}
|
||||
|
||||
|
@ -4680,7 +4680,7 @@ XXX see EvalAttributeExpression, where identifiers are being handled for now...
|
|||
delete obj;
|
||||
}
|
||||
else
|
||||
if (p->isString()) {
|
||||
if (p->isString()) {
|
||||
String t;
|
||||
String *s = (String *)(p + 1);
|
||||
*s = t;
|
||||
|
|
Загрузка…
Ссылка в новой задаче