-    return m_callFrame->scopeChain()->globalData->interpreter->execute(eval.get(), m_callFrame, thisObject(), m_callFrame->scopeChain(), &exception);
+SourceID DebuggerCallFrame::sourceIDForCallFrame(CallFrame* callFrame)
+{
+    ASSERT(callFrame);
+    CodeBlock* codeBlock = callFrame->codeBlock();
+    if (!codeBlock)
+        return noSourceID;
+    return codeBlock->ownerExecutable()->sourceID();
+}
+
+JSValue DebuggerCallFrame::thisValueForCallFrame(CallFrame* callFrame)
+{
+    if (!callFrame)
+        return jsNull();
+
+    ECMAMode ecmaMode = NotStrictMode;
+    CodeBlock* codeBlock = callFrame->codeBlock();
+    if (codeBlock && codeBlock->isStrictMode())
+        ecmaMode = StrictMode;
+    JSValue thisValue = callFrame->thisValue().toThis(callFrame, ecmaMode);
+    return thisValue;