Revision: 18495
Author: [email protected]
Date: Wed Jan 8 14:44:30 2014 UTC
Log: Removed a few internal uses of Isolate::Current.
[email protected]
Review URL: https://codereview.chromium.org/128313002
http://code.google.com/p/v8/source/detail?r=18495
Modified:
/branches/bleeding_edge/src/api.cc
/branches/bleeding_edge/src/api.h
/branches/bleeding_edge/src/bootstrapper.cc
=======================================
--- /branches/bleeding_edge/src/api.cc Wed Jan 8 12:22:42 2014 UTC
+++ /branches/bleeding_edge/src/api.cc Wed Jan 8 14:44:30 2014 UTC
@@ -714,8 +714,7 @@
void Context::Exit() {
- // TODO(dcarney): fix this once chrome is fixed.
- i::Isolate* isolate = i::Isolate::Current();
+ i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
i::Handle<i::Context> context = i::Handle<i::Context>::null();
ENTER_V8(isolate);
if (!ApiCheck(isolate->handle_scope_implementer()->LeaveContext(context),
@@ -809,8 +808,7 @@
// objects. To remind you about this there is no HandleScope in the
// NeanderObject constructor. When you add one to the site calling the
// constructor you should check that you ensured the VM was not dead first.
-NeanderObject::NeanderObject(int size) {
- i::Isolate* isolate = i::Isolate::Current();
+NeanderObject::NeanderObject(v8::internal::Isolate* isolate, int size) {
EnsureInitializedForIsolate(isolate, "v8::Nowhere");
ENTER_V8(isolate);
value_ = isolate->factory()->NewNeanderObject();
@@ -824,7 +822,7 @@
}
-NeanderArray::NeanderArray() : obj_(2) {
+NeanderArray::NeanderArray(v8::internal::Isolate* isolate) : obj_(isolate,
2) {
obj_.set(0, i::Smi::FromInt(0));
}
@@ -881,7 +879,7 @@
v8::Handle<v8::Data>* data) {
i::Handle<i::Object> list(Utils::OpenHandle(templ)->property_list(),
isolate);
if (list->IsUndefined()) {
- list = NeanderArray().value();
+ list = NeanderArray(isolate).value();
Utils::OpenHandle(templ)->set_property_list(*list);
}
NeanderArray array(list);
@@ -1382,9 +1380,10 @@
static inline void AddPropertyToTemplate(
i::Handle<i::TemplateInfo> info,
i::Handle<i::AccessorInfo> obj) {
- i::Handle<i::Object> list(info->property_accessors(),
info->GetIsolate());
+ i::Isolate* isolate = info->GetIsolate();
+ i::Handle<i::Object> list(info->property_accessors(), isolate);
if (list->IsUndefined()) {
- list = NeanderArray().value();
+ list = NeanderArray(isolate).value();
info->set_property_accessors(*list);
}
NeanderArray array(list);
@@ -6176,7 +6175,7 @@
ENTER_V8(isolate);
i::HandleScope scope(isolate);
NeanderArray listeners(isolate->factory()->message_listeners());
- NeanderObject obj(2);
+ NeanderObject obj(isolate, 2);
obj.set(0, *isolate->factory()->NewForeign(FUNCTION_ADDR(that)));
obj.set(1, data.IsEmpty() ? isolate->heap()->undefined_value()
: *Utils::OpenHandle(*data));
=======================================
--- /branches/bleeding_edge/src/api.h Mon Dec 2 18:12:01 2013 UTC
+++ /branches/bleeding_edge/src/api.h Wed Jan 8 14:44:30 2014 UTC
@@ -56,7 +56,7 @@
// env-independent JSObjects used by the api.
class NeanderObject {
public:
- explicit NeanderObject(int size);
+ explicit NeanderObject(v8::internal::Isolate* isolate, int size);
explicit inline NeanderObject(v8::internal::Handle<v8::internal::Object>
obj);
explicit inline NeanderObject(v8::internal::Object* obj);
inline v8::internal::Object* get(int index);
@@ -72,7 +72,7 @@
// array abstraction built on neander-objects.
class NeanderArray {
public:
- NeanderArray();
+ explicit NeanderArray(v8::internal::Isolate* isolate);
explicit inline NeanderArray(v8::internal::Handle<v8::internal::Object>
obj);
inline v8::internal::Handle<v8::internal::JSObject> value() {
return obj_.value();
=======================================
--- /branches/bleeding_edge/src/bootstrapper.cc Tue Jan 7 10:46:39 2014 UTC
+++ /branches/bleeding_edge/src/bootstrapper.cc Wed Jan 8 14:44:30 2014 UTC
@@ -673,7 +673,7 @@
// Allocate the message listeners object.
{
- v8::NeanderArray listeners;
+ v8::NeanderArray listeners(isolate());
native_context()->set_message_listeners(*listeners.value());
}
}
--
--
v8-dev mailing list
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.