Commit 7f7a91b1 authored by ager@chromium.org's avatar ager@chromium.org

Cleanup of Isolate::Current() usage in api.cc.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6705024
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 1bdc8031
...@@ -1388,7 +1388,7 @@ Local<Script> Script::Compile(v8::Handle<String> source, ...@@ -1388,7 +1388,7 @@ Local<Script> Script::Compile(v8::Handle<String> source,
i::Handle<i::JSFunction> result = i::Handle<i::JSFunction> result =
isolate->factory()->NewFunctionFromSharedFunctionInfo( isolate->factory()->NewFunctionFromSharedFunctionInfo(
function, function,
i::Isolate::Current()->global_context()); isolate->global_context());
return Local<Script>(ToApi<Script>(result)); return Local<Script>(ToApi<Script>(result));
} }
...@@ -1415,13 +1415,13 @@ Local<Value> Script::Run() { ...@@ -1415,13 +1415,13 @@ Local<Value> Script::Run() {
i::Handle<i::SharedFunctionInfo> i::Handle<i::SharedFunctionInfo>
function_info(i::SharedFunctionInfo::cast(*obj)); function_info(i::SharedFunctionInfo::cast(*obj));
fun = isolate->factory()->NewFunctionFromSharedFunctionInfo( fun = isolate->factory()->NewFunctionFromSharedFunctionInfo(
function_info, i::Isolate::Current()->global_context()); function_info, isolate->global_context());
} else { } else {
fun = i::Handle<i::JSFunction>(i::JSFunction::cast(*obj)); fun = i::Handle<i::JSFunction>(i::JSFunction::cast(*obj));
} }
EXCEPTION_PREAMBLE(); EXCEPTION_PREAMBLE();
i::Handle<i::Object> receiver( i::Handle<i::Object> receiver(
i::Isolate::Current()->context()->global_proxy()); isolate->context()->global_proxy());
i::Handle<i::Object> result = i::Handle<i::Object> result =
i::Execution::Call(fun, receiver, 0, NULL, &has_pending_exception); i::Execution::Call(fun, receiver, 0, NULL, &has_pending_exception);
EXCEPTION_BAILOUT_CHECK(Local<Value>()); EXCEPTION_BAILOUT_CHECK(Local<Value>());
...@@ -1493,13 +1493,14 @@ v8::TryCatch::TryCatch() ...@@ -1493,13 +1493,14 @@ v8::TryCatch::TryCatch()
v8::TryCatch::~TryCatch() { v8::TryCatch::~TryCatch() {
i::Isolate* isolate = i::Isolate::Current();
if (rethrow_) { if (rethrow_) {
v8::HandleScope scope; v8::HandleScope scope;
v8::Local<v8::Value> exc = v8::Local<v8::Value>::New(Exception()); v8::Local<v8::Value> exc = v8::Local<v8::Value>::New(Exception());
i::Isolate::Current()->UnregisterTryCatchHandler(this); isolate->UnregisterTryCatchHandler(this);
v8::ThrowException(exc); v8::ThrowException(exc);
} else { } else {
i::Isolate::Current()->UnregisterTryCatchHandler(this); isolate->UnregisterTryCatchHandler(this);
} }
} }
...@@ -2037,7 +2038,7 @@ bool Value::IsRegExp() const { ...@@ -2037,7 +2038,7 @@ bool Value::IsRegExp() const {
Local<String> Value::ToString() const { Local<String> Value::ToString() const {
i::Isolate* isolate = i::Isolate::Current(); i::Isolate* isolate = i::Isolate::Current();
if (IsDeadCheck(i::Isolate::Current(), "v8::Value::ToString()")) { if (IsDeadCheck(isolate, "v8::Value::ToString()")) {
return Local<String>(); return Local<String>();
} }
LOG_API(isolate, "ToString"); LOG_API(isolate, "ToString");
...@@ -2095,7 +2096,7 @@ Local<v8::Object> Value::ToObject() const { ...@@ -2095,7 +2096,7 @@ Local<v8::Object> Value::ToObject() const {
Local<Boolean> Value::ToBoolean() const { Local<Boolean> Value::ToBoolean() const {
i::Isolate* isolate = i::Isolate::Current(); i::Isolate* isolate = i::Isolate::Current();
if (IsDeadCheck(i::Isolate::Current(), "v8::Value::ToBoolean()")) { if (IsDeadCheck(isolate, "v8::Value::ToBoolean()")) {
return Local<Boolean>(); return Local<Boolean>();
} }
LOG_API(isolate, "ToBoolean"); LOG_API(isolate, "ToBoolean");
...@@ -3657,7 +3658,7 @@ Persistent<Context> v8::Context::New( ...@@ -3657,7 +3658,7 @@ Persistent<Context> v8::Context::New(
global_constructor->set_needs_access_check( global_constructor->set_needs_access_check(
proxy_constructor->needs_access_check()); proxy_constructor->needs_access_check());
} }
i::Isolate::Current()->runtime_profiler()->Reset(); isolate->runtime_profiler()->Reset();
} }
// Leave V8. // Leave V8.
...@@ -3712,11 +3713,12 @@ bool Context::InContext() { ...@@ -3712,11 +3713,12 @@ bool Context::InContext() {
v8::Local<v8::Context> Context::GetEntered() { v8::Local<v8::Context> Context::GetEntered() {
if (IsDeadCheck(i::Isolate::Current(), "v8::Context::GetEntered()")) { i::Isolate* isolate = i::Isolate::Current();
if (IsDeadCheck(isolate, "v8::Context::GetEntered()")) {
return Local<Context>(); return Local<Context>();
} }
i::Handle<i::Object> last = i::Handle<i::Object> last =
i::Isolate::Current()->handle_scope_implementer()->LastEnteredContext(); isolate->handle_scope_implementer()->LastEnteredContext();
if (last.is_null()) return Local<Context>(); if (last.is_null()) return Local<Context>();
i::Handle<i::Context> context = i::Handle<i::Context>::cast(last); i::Handle<i::Context> context = i::Handle<i::Context>::cast(last);
return Utils::ToLocal(context); return Utils::ToLocal(context);
...@@ -3724,10 +3726,11 @@ v8::Local<v8::Context> Context::GetEntered() { ...@@ -3724,10 +3726,11 @@ v8::Local<v8::Context> Context::GetEntered() {
v8::Local<v8::Context> Context::GetCurrent() { v8::Local<v8::Context> Context::GetCurrent() {
if (IsDeadCheck(i::Isolate::Current(), "v8::Context::GetCurrent()")) { i::Isolate* isolate = i::Isolate::Current();
if (IsDeadCheck(isolate, "v8::Context::GetCurrent()")) {
return Local<Context>(); return Local<Context>();
} }
i::Handle<i::Object> current = i::Isolate::Current()->global_context(); i::Handle<i::Object> current = isolate->global_context();
if (current.is_null()) return Local<Context>(); if (current.is_null()) return Local<Context>();
i::Handle<i::Context> context = i::Handle<i::Context>::cast(current); i::Handle<i::Context> context = i::Handle<i::Context>::cast(current);
return Utils::ToLocal(context); return Utils::ToLocal(context);
...@@ -3735,11 +3738,12 @@ v8::Local<v8::Context> Context::GetCurrent() { ...@@ -3735,11 +3738,12 @@ v8::Local<v8::Context> Context::GetCurrent() {
v8::Local<v8::Context> Context::GetCalling() { v8::Local<v8::Context> Context::GetCalling() {
if (IsDeadCheck(i::Isolate::Current(), "v8::Context::GetCalling()")) { i::Isolate* isolate = i::Isolate::Current();
if (IsDeadCheck(isolate, "v8::Context::GetCalling()")) {
return Local<Context>(); return Local<Context>();
} }
i::Handle<i::Object> calling = i::Handle<i::Object> calling =
i::Isolate::Current()->GetCallingGlobalContext(); isolate->GetCallingGlobalContext();
if (calling.is_null()) return Local<Context>(); if (calling.is_null()) return Local<Context>();
i::Handle<i::Context> context = i::Handle<i::Context>::cast(calling); i::Handle<i::Context> context = i::Handle<i::Context>::cast(calling);
return Utils::ToLocal(context); return Utils::ToLocal(context);
...@@ -3759,12 +3763,13 @@ v8::Local<v8::Object> Context::Global() { ...@@ -3759,12 +3763,13 @@ v8::Local<v8::Object> Context::Global() {
void Context::DetachGlobal() { void Context::DetachGlobal() {
if (IsDeadCheck(i::Isolate::Current(), "v8::Context::DetachGlobal()")) return; i::Isolate* isolate = i::Isolate::Current();
if (IsDeadCheck(isolate, "v8::Context::DetachGlobal()")) return;
ENTER_V8; ENTER_V8;
i::Object** ctx = reinterpret_cast<i::Object**>(this); i::Object** ctx = reinterpret_cast<i::Object**>(this);
i::Handle<i::Context> context = i::Handle<i::Context> context =
i::Handle<i::Context>::cast(i::Handle<i::Object>(ctx)); i::Handle<i::Context>::cast(i::Handle<i::Object>(ctx));
i::Isolate::Current()->bootstrapper()->DetachGlobal(context); isolate->bootstrapper()->DetachGlobal(context);
} }
...@@ -4075,7 +4080,7 @@ Local<v8::Object> v8::Object::New() { ...@@ -4075,7 +4080,7 @@ Local<v8::Object> v8::Object::New() {
LOG_API(isolate, "Object::New"); LOG_API(isolate, "Object::New");
ENTER_V8; ENTER_V8;
i::Handle<i::JSObject> obj = i::Handle<i::JSObject> obj =
isolate->factory()->NewJSObject(i::Isolate::Current()->object_function()); isolate->factory()->NewJSObject(isolate->object_function());
return Utils::ToLocal(obj); return Utils::ToLocal(obj);
} }
...@@ -4550,9 +4555,9 @@ int V8::GetCurrentThreadId() { ...@@ -4550,9 +4555,9 @@ int V8::GetCurrentThreadId() {
void V8::TerminateExecution(int thread_id) { void V8::TerminateExecution(int thread_id) {
if (!i::Isolate::Current()->IsInitialized()) return;
API_ENTRY_CHECK("V8::GetCurrentThreadId()");
i::Isolate* isolate = i::Isolate::Current(); i::Isolate* isolate = i::Isolate::Current();
if (!isolate->IsInitialized()) return;
API_ENTRY_CHECK("V8::GetCurrentThreadId()");
// If the thread_id identifies the current thread just terminate // If the thread_id identifies the current thread just terminate
// execution right away. Otherwise, ask the thread manager to // execution right away. Otherwise, ask the thread manager to
// terminate the thread with the given id if any. // terminate the thread with the given id if any.
...@@ -4575,9 +4580,10 @@ void V8::TerminateExecution(Isolate* isolate) { ...@@ -4575,9 +4580,10 @@ void V8::TerminateExecution(Isolate* isolate) {
bool V8::IsExecutionTerminating() { bool V8::IsExecutionTerminating() {
if (!i::Isolate::Current()->IsInitialized()) return false; i::Isolate* isolate = i::Isolate::Current();
if (i::Isolate::Current()->has_scheduled_exception()) { if (!isolate->IsInitialized()) return false;
return i::Isolate::Current()->scheduled_exception() == if (isolate->has_scheduled_exception()) {
return isolate->scheduled_exception() ==
HEAP->termination_exception(); HEAP->termination_exception();
} }
return false; return false;
...@@ -4894,9 +4900,9 @@ void Debug::SetMessageHandler(v8::Debug::MessageHandler handler, ...@@ -4894,9 +4900,9 @@ void Debug::SetMessageHandler(v8::Debug::MessageHandler handler,
// TODO(sgjesse) support the old message handler API through a simple wrapper. // TODO(sgjesse) support the old message handler API through a simple wrapper.
isolate->set_message_handler(handler); isolate->set_message_handler(handler);
if (handler != NULL) { if (handler != NULL) {
i::Isolate::Current()->debugger()->SetMessageHandler(MessageHandlerWrapper); isolate->debugger()->SetMessageHandler(MessageHandlerWrapper);
} else { } else {
i::Isolate::Current()->debugger()->SetMessageHandler(NULL); isolate->debugger()->SetMessageHandler(NULL);
} }
} }
...@@ -4949,12 +4955,12 @@ Local<Value> Debug::Call(v8::Handle<v8::Function> fun, ...@@ -4949,12 +4955,12 @@ Local<Value> Debug::Call(v8::Handle<v8::Function> fun,
i::Handle<i::Object> result; i::Handle<i::Object> result;
EXCEPTION_PREAMBLE(); EXCEPTION_PREAMBLE();
if (data.IsEmpty()) { if (data.IsEmpty()) {
result = i::Isolate::Current()->debugger()->Call( result = isolate->debugger()->Call(
Utils::OpenHandle(*fun), Utils::OpenHandle(*fun),
isolate->factory()->undefined_value(), isolate->factory()->undefined_value(),
&has_pending_exception); &has_pending_exception);
} else { } else {
result = i::Isolate::Current()->debugger()->Call(Utils::OpenHandle(*fun), result = isolate->debugger()->Call(Utils::OpenHandle(*fun),
Utils::OpenHandle(*data), Utils::OpenHandle(*data),
&has_pending_exception); &has_pending_exception);
} }
...@@ -4969,7 +4975,7 @@ Local<Value> Debug::GetMirror(v8::Handle<v8::Value> obj) { ...@@ -4969,7 +4975,7 @@ Local<Value> Debug::GetMirror(v8::Handle<v8::Value> obj) {
ON_BAILOUT(isolate, "v8::Debug::GetMirror()", return Local<Value>()); ON_BAILOUT(isolate, "v8::Debug::GetMirror()", return Local<Value>());
ENTER_V8; ENTER_V8;
v8::HandleScope scope; v8::HandleScope scope;
i::Debug* isolate_debug = i::Isolate::Current()->debug(); i::Debug* isolate_debug = isolate->debug();
isolate_debug->Load(); isolate_debug->Load();
i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global()); i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global());
i::Handle<i::String> name = i::Handle<i::String> name =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment