Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Unified Diff: src/factory.cc

Issue 12300018: Made Isolate a mandatory parameter for everything Handle-related. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Even less Isolate::Current Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/factory.cc
diff --git a/src/factory.cc b/src/factory.cc
index 1a275e9609a4a4e159633212cdd37fd46fc7e54f..209a8de21699f7ad073ce51fcca40a31df3333a5 100644
--- a/src/factory.cc
+++ b/src/factory.cc
@@ -753,7 +753,8 @@ Handle<Object> Factory::NewError(const char* maker,
Handle<JSArray> args) {
Handle<String> make_str = LookupUtf8Symbol(maker);
Handle<Object> fun_obj(
- isolate()->js_builtins_object()->GetPropertyNoExceptionThrown(*make_str));
+ isolate()->js_builtins_object()->GetPropertyNoExceptionThrown(*make_str),
+ isolate());
// If the builtins haven't been properly configured yet this error
// constructor may not have been defined. Bail out.
if (!fun_obj->IsJSFunction()) {
@@ -1275,7 +1276,7 @@ Handle<JSFunction> Factory::CreateApiFunction(
result->shared()->set_length(obj->length());
// Set class name.
- Handle<Object> class_name = Handle<Object>(obj->class_name());
+ Handle<Object> class_name = Handle<Object>(obj->class_name(), isolate());
if (class_name->IsString()) {
result->shared()->set_instance_class_name(*class_name);
result->shared()->set_name(*class_name);
@@ -1321,7 +1322,7 @@ Handle<JSFunction> Factory::CreateApiFunction(
while (true) {
Object* props = info->property_accessors();
if (!props->IsUndefined()) {
- Handle<Object> props_handle(props);
+ Handle<Object> props_handle(props, isolate());
NeanderArray props_array(props_handle);
max_number_of_additional_properties += props_array.length();
}
@@ -1333,11 +1334,12 @@ Handle<JSFunction> Factory::CreateApiFunction(
Map::EnsureDescriptorSlack(map, max_number_of_additional_properties);
while (true) {
- Handle<Object> props = Handle<Object>(obj->property_accessors());
+ Handle<Object> props = Handle<Object>(obj->property_accessors(),
+ isolate());
if (!props->IsUndefined()) {
Map::AppendCallbackDescriptors(map, props);
}
- Handle<Object> parent = Handle<Object>(obj->parent_template());
+ Handle<Object> parent = Handle<Object>(obj->parent_template(), isolate());
if (parent->IsUndefined()) break;
obj = Handle<FunctionTemplateInfo>::cast(parent);
}
@@ -1457,9 +1459,9 @@ Handle<Object> Factory::GlobalConstantFor(Handle<String> name) {
Handle<Object> Factory::ToBoolean(bool value) {
- return Handle<Object>(value
- ? isolate()->heap()->true_value()
- : isolate()->heap()->false_value());
+ Heap* heap = isolate()->heap();
+ Object* obj = value ? heap->true_value() : heap->false_value();
+ return Handle<Object>(obj, isolate());
Michael Starzinger 2013/02/25 10:50:58 This can be simplified to "return value ? true_val
Sven Panne 2013/02/25 14:44:43 Done.
}

Powered by Google App Engine
This is Rietveld 408576698