diff options
Diffstat (limited to 'JavaScriptCore/debugger/Debugger.cpp')
| -rw-r--r-- | JavaScriptCore/debugger/Debugger.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/JavaScriptCore/debugger/Debugger.cpp b/JavaScriptCore/debugger/Debugger.cpp index cbcbd21..472a03a 100644 --- a/JavaScriptCore/debugger/Debugger.cpp +++ b/JavaScriptCore/debugger/Debugger.cpp @@ -101,12 +101,19 @@ JSValue evaluateInGlobalCallFrame(const UString& script, JSValue& exception, JSG { CallFrame* globalCallFrame = globalObject->globalExec(); - RefPtr<EvalExecutable> eval = EvalExecutable::create(globalCallFrame, makeSource(script)); + RefPtr<EvalExecutable> eval = EvalExecutable::create(globalCallFrame, makeSource(script), false); JSObject* error = eval->compile(globalCallFrame, globalCallFrame->scopeChain()); if (error) return error; - return globalObject->globalData()->interpreter->execute(eval.get(), globalCallFrame, globalObject, globalCallFrame->scopeChain(), &exception); + JSGlobalData& globalData = globalObject->globalData(); + JSValue result = globalData.interpreter->execute(eval.get(), globalCallFrame, globalObject, globalCallFrame->scopeChain()); + if (globalData.exception) { + exception = globalData.exception; + globalData.exception = JSValue(); + } + ASSERT(result); + return result; } } // namespace JSC |
