Reviewers: Sven Panne,
Description:
thread isolate for DebugMessage
R=svenpa...@chromium.org
BUG=
Please review this at https://codereview.chromium.org/23904012/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+10, -1 lines):
M include/v8-debug.h
M src/debug-agent.cc
M src/debug.h
M src/debug.cc
Index: include/v8-debug.h
diff --git a/include/v8-debug.h b/include/v8-debug.h
index
a7d21985b6367719173dac37b467ec817313677e..053b81d2c58933f412de02982a27efb87f268c0d
100755
--- a/include/v8-debug.h
+++ b/include/v8-debug.h
@@ -106,6 +106,8 @@ class V8_EXPORT Debug {
*/
virtual ClientData* GetClientData() const = 0;
+ virtual Isolate* GetIsolate() const = 0;
+
virtual ~Message() {}
};
Index: src/debug-agent.cc
diff --git a/src/debug-agent.cc b/src/debug-agent.cc
index
aad36086e945c2c5a88cf241b0b848011413e847..51823aaf24c41a7ae9e5681489399d61149ca0ed
100644
--- a/src/debug-agent.cc
+++ b/src/debug-agent.cc
@@ -38,7 +38,8 @@ namespace internal {
// Public V8 debugger API message handler function. This function just
delegates
// to the debugger agent through it's data parameter.
void DebuggerAgentMessageHandler(const v8::Debug::Message& message) {
- DebuggerAgent* agent = Isolate::Current()->debugger_agent_instance();
+ Isolate* isolate = reinterpret_cast<Isolate*>(message.GetIsolate());
+ DebuggerAgent* agent = isolate->debugger_agent_instance();
ASSERT(agent != NULL);
agent->DebuggerMessage(message);
}
Index: src/debug.cc
diff --git a/src/debug.cc b/src/debug.cc
index
7624f26d7ad9490b58fceef330095b8b15f0ca11..3f2739eca040d50a6a70a140db92ba1180e6e94a
100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -3624,6 +3624,11 @@ v8::Handle<v8::Object>
MessageImpl::GetExecutionState() const {
}
+v8::Isolate* MessageImpl::GetIsolate() const {
+ return reinterpret_cast<v8::Isolate*>(exec_state_->GetIsolate());
+}
+
+
v8::Handle<v8::Object> MessageImpl::GetEventData() const {
return v8::Utils::ToLocal(event_data_);
}
Index: src/debug.h
diff --git a/src/debug.h b/src/debug.h
index
03ee40e6e66e94ce91b25a77e45f3d48d9200779..2b5f43ab4959cc4b5cf28a9b0323fc689884344e
100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -668,6 +668,7 @@ class MessageImpl: public v8::Debug::Message {
virtual v8::Handle<v8::String> GetJSON() const;
virtual v8::Handle<v8::Context> GetEventContext() const;
virtual v8::Debug::ClientData* GetClientData() const;
+ virtual v8::Isolate* GetIsolate() const;
private:
MessageImpl(bool is_event,
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.