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

Side by Side Diff: src/api.cc

Issue 6725014: Cleanup of FACTORY macro usage in api.cc. (Closed) Base URL: git://github.com/v8/v8.git@master
Patch Set: Created 9 years, 9 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 unified diff | Download patch
« no previous file with comments | « AUTHORS ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 } 785 }
786 786
787 787
788 Local<FunctionTemplate> FunctionTemplate::New(InvocationCallback callback, 788 Local<FunctionTemplate> FunctionTemplate::New(InvocationCallback callback,
789 v8::Handle<Value> data, v8::Handle<Signature> signature) { 789 v8::Handle<Value> data, v8::Handle<Signature> signature) {
790 i::Isolate* isolate = i::Isolate::Current(); 790 i::Isolate* isolate = i::Isolate::Current();
791 EnsureInitializedForIsolate(isolate, "v8::FunctionTemplate::New()"); 791 EnsureInitializedForIsolate(isolate, "v8::FunctionTemplate::New()");
792 LOG_API(isolate, "FunctionTemplate::New"); 792 LOG_API(isolate, "FunctionTemplate::New");
793 ENTER_V8; 793 ENTER_V8;
794 i::Handle<i::Struct> struct_obj = 794 i::Handle<i::Struct> struct_obj =
795 FACTORY->NewStruct(i::FUNCTION_TEMPLATE_INFO_TYPE); 795 isolate->factory()->NewStruct(i::FUNCTION_TEMPLATE_INFO_TYPE);
796 i::Handle<i::FunctionTemplateInfo> obj = 796 i::Handle<i::FunctionTemplateInfo> obj =
797 i::Handle<i::FunctionTemplateInfo>::cast(struct_obj); 797 i::Handle<i::FunctionTemplateInfo>::cast(struct_obj);
798 InitializeFunctionTemplate(obj); 798 InitializeFunctionTemplate(obj);
799 int next_serial_number = isolate->next_serial_number(); 799 int next_serial_number = isolate->next_serial_number();
800 isolate->set_next_serial_number(next_serial_number + 1); 800 isolate->set_next_serial_number(next_serial_number + 1);
801 obj->set_serial_number(i::Smi::FromInt(next_serial_number)); 801 obj->set_serial_number(i::Smi::FromInt(next_serial_number));
802 if (callback != 0) { 802 if (callback != 0) {
803 if (data.IsEmpty()) data = v8::Undefined(); 803 if (data.IsEmpty()) data = v8::Undefined();
804 Utils::ToLocal(obj)->SetCallHandler(callback, data); 804 Utils::ToLocal(obj)->SetCallHandler(callback, data);
805 } 805 }
806 obj->set_undetectable(false); 806 obj->set_undetectable(false);
807 obj->set_needs_access_check(false); 807 obj->set_needs_access_check(false);
808 808
809 if (!signature.IsEmpty()) 809 if (!signature.IsEmpty())
810 obj->set_signature(*Utils::OpenHandle(*signature)); 810 obj->set_signature(*Utils::OpenHandle(*signature));
811 return Utils::ToLocal(obj); 811 return Utils::ToLocal(obj);
812 } 812 }
813 813
814 814
815 Local<Signature> Signature::New(Handle<FunctionTemplate> receiver, 815 Local<Signature> Signature::New(Handle<FunctionTemplate> receiver,
816 int argc, Handle<FunctionTemplate> argv[]) { 816 int argc, Handle<FunctionTemplate> argv[]) {
817 i::Isolate* isolate = i::Isolate::Current(); 817 i::Isolate* isolate = i::Isolate::Current();
818 EnsureInitializedForIsolate(isolate, "v8::Signature::New()"); 818 EnsureInitializedForIsolate(isolate, "v8::Signature::New()");
819 LOG_API(isolate, "Signature::New"); 819 LOG_API(isolate, "Signature::New");
820 ENTER_V8; 820 ENTER_V8;
821 i::Handle<i::Struct> struct_obj = 821 i::Handle<i::Struct> struct_obj =
822 FACTORY->NewStruct(i::SIGNATURE_INFO_TYPE); 822 isolate->factory()->NewStruct(i::SIGNATURE_INFO_TYPE);
823 i::Handle<i::SignatureInfo> obj = 823 i::Handle<i::SignatureInfo> obj =
824 i::Handle<i::SignatureInfo>::cast(struct_obj); 824 i::Handle<i::SignatureInfo>::cast(struct_obj);
825 if (!receiver.IsEmpty()) obj->set_receiver(*Utils::OpenHandle(*receiver)); 825 if (!receiver.IsEmpty()) obj->set_receiver(*Utils::OpenHandle(*receiver));
826 if (argc > 0) { 826 if (argc > 0) {
827 i::Handle<i::FixedArray> args = FACTORY->NewFixedArray(argc); 827 i::Handle<i::FixedArray> args = isolate->factory()->NewFixedArray(argc);
828 for (int i = 0; i < argc; i++) { 828 for (int i = 0; i < argc; i++) {
829 if (!argv[i].IsEmpty()) 829 if (!argv[i].IsEmpty())
830 args->set(i, *Utils::OpenHandle(*argv[i])); 830 args->set(i, *Utils::OpenHandle(*argv[i]));
831 } 831 }
832 obj->set_args(*args); 832 obj->set_args(*args);
833 } 833 }
834 return Utils::ToLocal(obj); 834 return Utils::ToLocal(obj);
835 } 835 }
836 836
837 837
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 } while (false) 878 } while (false)
879 879
880 880
881 void FunctionTemplate::SetCallHandler(InvocationCallback callback, 881 void FunctionTemplate::SetCallHandler(InvocationCallback callback,
882 v8::Handle<Value> data) { 882 v8::Handle<Value> data) {
883 i::Isolate* isolate = i::Isolate::Current(); 883 i::Isolate* isolate = i::Isolate::Current();
884 if (IsDeadCheck(isolate, "v8::FunctionTemplate::SetCallHandler()")) return; 884 if (IsDeadCheck(isolate, "v8::FunctionTemplate::SetCallHandler()")) return;
885 ENTER_V8; 885 ENTER_V8;
886 i::HandleScope scope(isolate); 886 i::HandleScope scope(isolate);
887 i::Handle<i::Struct> struct_obj = 887 i::Handle<i::Struct> struct_obj =
888 FACTORY->NewStruct(i::CALL_HANDLER_INFO_TYPE); 888 isolate->factory()->NewStruct(i::CALL_HANDLER_INFO_TYPE);
889 i::Handle<i::CallHandlerInfo> obj = 889 i::Handle<i::CallHandlerInfo> obj =
890 i::Handle<i::CallHandlerInfo>::cast(struct_obj); 890 i::Handle<i::CallHandlerInfo>::cast(struct_obj);
891 SET_FIELD_WRAPPED(obj, set_callback, callback); 891 SET_FIELD_WRAPPED(obj, set_callback, callback);
892 if (data.IsEmpty()) data = v8::Undefined(); 892 if (data.IsEmpty()) data = v8::Undefined();
893 obj->set_data(*Utils::OpenHandle(*data)); 893 obj->set_data(*Utils::OpenHandle(*data));
894 Utils::OpenHandle(this)->set_call_code(*obj); 894 Utils::OpenHandle(this)->set_call_code(*obj);
895 } 895 }
896 896
897 897
898 static i::Handle<i::AccessorInfo> MakeAccessorInfo( 898 static i::Handle<i::AccessorInfo> MakeAccessorInfo(
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 Local<ObjectTemplate> ObjectTemplate::New( 1074 Local<ObjectTemplate> ObjectTemplate::New(
1075 v8::Handle<FunctionTemplate> constructor) { 1075 v8::Handle<FunctionTemplate> constructor) {
1076 i::Isolate* isolate = i::Isolate::Current(); 1076 i::Isolate* isolate = i::Isolate::Current();
1077 if (IsDeadCheck(isolate, "v8::ObjectTemplate::New()")) { 1077 if (IsDeadCheck(isolate, "v8::ObjectTemplate::New()")) {
1078 return Local<ObjectTemplate>(); 1078 return Local<ObjectTemplate>();
1079 } 1079 }
1080 EnsureInitializedForIsolate(isolate, "v8::ObjectTemplate::New()"); 1080 EnsureInitializedForIsolate(isolate, "v8::ObjectTemplate::New()");
1081 LOG_API(isolate, "ObjectTemplate::New"); 1081 LOG_API(isolate, "ObjectTemplate::New");
1082 ENTER_V8; 1082 ENTER_V8;
1083 i::Handle<i::Struct> struct_obj = 1083 i::Handle<i::Struct> struct_obj =
1084 FACTORY->NewStruct(i::OBJECT_TEMPLATE_INFO_TYPE); 1084 isolate->factory()->NewStruct(i::OBJECT_TEMPLATE_INFO_TYPE);
1085 i::Handle<i::ObjectTemplateInfo> obj = 1085 i::Handle<i::ObjectTemplateInfo> obj =
1086 i::Handle<i::ObjectTemplateInfo>::cast(struct_obj); 1086 i::Handle<i::ObjectTemplateInfo>::cast(struct_obj);
1087 InitializeTemplate(obj, Consts::OBJECT_TEMPLATE); 1087 InitializeTemplate(obj, Consts::OBJECT_TEMPLATE);
1088 if (!constructor.IsEmpty()) 1088 if (!constructor.IsEmpty())
1089 obj->set_constructor(*Utils::OpenHandle(*constructor)); 1089 obj->set_constructor(*Utils::OpenHandle(*constructor));
1090 obj->set_internal_field_count(i::Smi::FromInt(0)); 1090 obj->set_internal_field_count(i::Smi::FromInt(0));
1091 return Utils::ToLocal(obj); 1091 return Utils::ToLocal(obj);
1092 } 1092 }
1093 1093
1094 1094
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
1172 bool turned_on_by_default) { 1172 bool turned_on_by_default) {
1173 i::Isolate* isolate = i::Isolate::Current(); 1173 i::Isolate* isolate = i::Isolate::Current();
1174 if (IsDeadCheck(isolate, "v8::ObjectTemplate::SetAccessCheckCallbacks()")) { 1174 if (IsDeadCheck(isolate, "v8::ObjectTemplate::SetAccessCheckCallbacks()")) {
1175 return; 1175 return;
1176 } 1176 }
1177 ENTER_V8; 1177 ENTER_V8;
1178 i::HandleScope scope(isolate); 1178 i::HandleScope scope(isolate);
1179 EnsureConstructor(this); 1179 EnsureConstructor(this);
1180 1180
1181 i::Handle<i::Struct> struct_info = 1181 i::Handle<i::Struct> struct_info =
1182 FACTORY->NewStruct(i::ACCESS_CHECK_INFO_TYPE); 1182 isolate->factory()->NewStruct(i::ACCESS_CHECK_INFO_TYPE);
1183 i::Handle<i::AccessCheckInfo> info = 1183 i::Handle<i::AccessCheckInfo> info =
1184 i::Handle<i::AccessCheckInfo>::cast(struct_info); 1184 i::Handle<i::AccessCheckInfo>::cast(struct_info);
1185 1185
1186 SET_FIELD_WRAPPED(info, set_named_callback, named_callback); 1186 SET_FIELD_WRAPPED(info, set_named_callback, named_callback);
1187 SET_FIELD_WRAPPED(info, set_indexed_callback, indexed_callback); 1187 SET_FIELD_WRAPPED(info, set_indexed_callback, indexed_callback);
1188 1188
1189 if (data.IsEmpty()) data = v8::Undefined(); 1189 if (data.IsEmpty()) data = v8::Undefined();
1190 info->set_data(*Utils::OpenHandle(*data)); 1190 info->set_data(*Utils::OpenHandle(*data));
1191 1191
1192 i::FunctionTemplateInfo* constructor = 1192 i::FunctionTemplateInfo* constructor =
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 ON_BAILOUT(isolate, "v8::Script::Compile()", return Local<Script>()); 1379 ON_BAILOUT(isolate, "v8::Script::Compile()", return Local<Script>());
1380 LOG_API(isolate, "Script::Compile"); 1380 LOG_API(isolate, "Script::Compile");
1381 ENTER_V8; 1381 ENTER_V8;
1382 Local<Script> generic = New(source, origin, pre_data, script_data); 1382 Local<Script> generic = New(source, origin, pre_data, script_data);
1383 if (generic.IsEmpty()) 1383 if (generic.IsEmpty())
1384 return generic; 1384 return generic;
1385 i::Handle<i::Object> obj = Utils::OpenHandle(*generic); 1385 i::Handle<i::Object> obj = Utils::OpenHandle(*generic);
1386 i::Handle<i::SharedFunctionInfo> function = 1386 i::Handle<i::SharedFunctionInfo> function =
1387 i::Handle<i::SharedFunctionInfo>(i::SharedFunctionInfo::cast(*obj)); 1387 i::Handle<i::SharedFunctionInfo>(i::SharedFunctionInfo::cast(*obj));
1388 i::Handle<i::JSFunction> result = 1388 i::Handle<i::JSFunction> result =
1389 FACTORY->NewFunctionFromSharedFunctionInfo( 1389 isolate->factory()->NewFunctionFromSharedFunctionInfo(
1390 function, 1390 function,
1391 i::Isolate::Current()->global_context()); 1391 i::Isolate::Current()->global_context());
1392 return Local<Script>(ToApi<Script>(result)); 1392 return Local<Script>(ToApi<Script>(result));
1393 } 1393 }
1394 1394
1395 1395
1396 Local<Script> Script::Compile(v8::Handle<String> source, 1396 Local<Script> Script::Compile(v8::Handle<String> source,
1397 v8::Handle<Value> file_name, 1397 v8::Handle<Value> file_name,
1398 v8::Handle<String> script_data) { 1398 v8::Handle<String> script_data) {
1399 ScriptOrigin origin(file_name); 1399 ScriptOrigin origin(file_name);
1400 return Compile(source, &origin, 0, script_data); 1400 return Compile(source, &origin, 0, script_data);
1401 } 1401 }
1402 1402
1403 1403
1404 Local<Value> Script::Run() { 1404 Local<Value> Script::Run() {
1405 i::Isolate* isolate = i::Isolate::Current(); 1405 i::Isolate* isolate = i::Isolate::Current();
1406 ON_BAILOUT(isolate, "v8::Script::Run()", return Local<Value>()); 1406 ON_BAILOUT(isolate, "v8::Script::Run()", return Local<Value>());
1407 LOG_API(isolate, "Script::Run"); 1407 LOG_API(isolate, "Script::Run");
1408 ENTER_V8; 1408 ENTER_V8;
1409 i::Object* raw_result = NULL; 1409 i::Object* raw_result = NULL;
1410 { 1410 {
1411 HandleScope scope; 1411 HandleScope scope;
1412 i::Handle<i::Object> obj = Utils::OpenHandle(this); 1412 i::Handle<i::Object> obj = Utils::OpenHandle(this);
1413 i::Handle<i::JSFunction> fun; 1413 i::Handle<i::JSFunction> fun;
1414 if (obj->IsSharedFunctionInfo()) { 1414 if (obj->IsSharedFunctionInfo()) {
1415 i::Handle<i::SharedFunctionInfo> 1415 i::Handle<i::SharedFunctionInfo>
1416 function_info(i::SharedFunctionInfo::cast(*obj)); 1416 function_info(i::SharedFunctionInfo::cast(*obj));
1417 fun = FACTORY->NewFunctionFromSharedFunctionInfo( 1417 fun = isolate->factory()->NewFunctionFromSharedFunctionInfo(
1418 function_info, i::Isolate::Current()->global_context()); 1418 function_info, i::Isolate::Current()->global_context());
1419 } else { 1419 } else {
1420 fun = i::Handle<i::JSFunction>(i::JSFunction::cast(*obj)); 1420 fun = i::Handle<i::JSFunction>(i::JSFunction::cast(*obj));
1421 } 1421 }
1422 EXCEPTION_PREAMBLE(); 1422 EXCEPTION_PREAMBLE();
1423 i::Handle<i::Object> receiver( 1423 i::Handle<i::Object> receiver(
1424 i::Isolate::Current()->context()->global_proxy()); 1424 i::Isolate::Current()->context()->global_proxy());
1425 i::Handle<i::Object> result = 1425 i::Handle<i::Object> result =
1426 i::Execution::Call(fun, receiver, 0, NULL, &has_pending_exception); 1426 i::Execution::Call(fun, receiver, 0, NULL, &has_pending_exception);
1427 EXCEPTION_BAILOUT_CHECK(Local<Value>()); 1427 EXCEPTION_BAILOUT_CHECK(Local<Value>());
(...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after
2334 i::Handle<i::Object> string_obj = 2334 i::Handle<i::Object> string_obj =
2335 i::Execution::ToString(obj, &has_pending_exception); 2335 i::Execution::ToString(obj, &has_pending_exception);
2336 EXCEPTION_BAILOUT_CHECK(Local<Uint32>()); 2336 EXCEPTION_BAILOUT_CHECK(Local<Uint32>());
2337 i::Handle<i::String> str = i::Handle<i::String>::cast(string_obj); 2337 i::Handle<i::String> str = i::Handle<i::String>::cast(string_obj);
2338 uint32_t index; 2338 uint32_t index;
2339 if (str->AsArrayIndex(&index)) { 2339 if (str->AsArrayIndex(&index)) {
2340 i::Handle<i::Object> value; 2340 i::Handle<i::Object> value;
2341 if (index <= static_cast<uint32_t>(i::Smi::kMaxValue)) { 2341 if (index <= static_cast<uint32_t>(i::Smi::kMaxValue)) {
2342 value = i::Handle<i::Object>(i::Smi::FromInt(index)); 2342 value = i::Handle<i::Object>(i::Smi::FromInt(index));
2343 } else { 2343 } else {
2344 value = FACTORY->NewNumber(index); 2344 value = isolate->factory()->NewNumber(index);
2345 } 2345 }
2346 return Utils::Uint32ToLocal(value); 2346 return Utils::Uint32ToLocal(value);
2347 } 2347 }
2348 return Local<Uint32>(); 2348 return Local<Uint32>();
2349 } 2349 }
2350 2350
2351 2351
2352 int32_t Value::Int32Value() const { 2352 int32_t Value::Int32Value() const {
2353 i::Isolate* isolate = i::Isolate::Current(); 2353 i::Isolate* isolate = i::Isolate::Current();
2354 if (IsDeadCheck(isolate, "v8::Value::Int32Value()")) return 0; 2354 if (IsDeadCheck(isolate, "v8::Value::Int32Value()")) return 0;
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
2597 while (!object->IsInstanceOf(tmpl_info)) { 2597 while (!object->IsInstanceOf(tmpl_info)) {
2598 i::Object* prototype = object->GetPrototype(); 2598 i::Object* prototype = object->GetPrototype();
2599 if (!prototype->IsJSObject()) return Local<Object>(); 2599 if (!prototype->IsJSObject()) return Local<Object>();
2600 object = i::JSObject::cast(prototype); 2600 object = i::JSObject::cast(prototype);
2601 } 2601 }
2602 return Utils::ToLocal(i::Handle<i::JSObject>(object)); 2602 return Utils::ToLocal(i::Handle<i::JSObject>(object));
2603 } 2603 }
2604 2604
2605 2605
2606 Local<Array> v8::Object::GetPropertyNames() { 2606 Local<Array> v8::Object::GetPropertyNames() {
2607 ON_BAILOUT(i::Isolate::Current(), "v8::Object::GetPropertyNames()", 2607 i::Isolate* isolate = i::Isolate::Current();
2608 ON_BAILOUT(isolate, "v8::Object::GetPropertyNames()",
2608 return Local<v8::Array>()); 2609 return Local<v8::Array>());
2609 ENTER_V8; 2610 ENTER_V8;
2610 v8::HandleScope scope; 2611 v8::HandleScope scope;
2611 i::Handle<i::JSObject> self = Utils::OpenHandle(this); 2612 i::Handle<i::JSObject> self = Utils::OpenHandle(this);
2612 i::Handle<i::FixedArray> value = 2613 i::Handle<i::FixedArray> value =
2613 i::GetKeysInFixedArrayFor(self, i::INCLUDE_PROTOS); 2614 i::GetKeysInFixedArrayFor(self, i::INCLUDE_PROTOS);
2614 // Because we use caching to speed up enumeration it is important 2615 // Because we use caching to speed up enumeration it is important
2615 // to never change the result of the basic enumeration function so 2616 // to never change the result of the basic enumeration function so
2616 // we clone the result. 2617 // we clone the result.
2617 i::Handle<i::FixedArray> elms = FACTORY->CopyFixedArray(value); 2618 i::Handle<i::FixedArray> elms = isolate->factory()->CopyFixedArray(value);
2618 i::Handle<i::JSArray> result = FACTORY->NewJSArrayWithElements(elms); 2619 i::Handle<i::JSArray> result = isolate->factory()->NewJSArrayWithElements(elms );
Mads Ager (chromium) 2011/03/23 08:50:37 Line too long. Please run ./tools/presubmit.py bef
2619 return scope.Close(Utils::ToLocal(result)); 2620 return scope.Close(Utils::ToLocal(result));
2620 } 2621 }
2621 2622
2622 2623
2623 Local<String> v8::Object::ObjectProtoToString() { 2624 Local<String> v8::Object::ObjectProtoToString() {
2624 ON_BAILOUT(i::Isolate::Current(), "v8::Object::ObjectProtoToString()", 2625 ON_BAILOUT(i::Isolate::Current(), "v8::Object::ObjectProtoToString()",
2625 return Local<v8::String>()); 2626 return Local<v8::String>());
2626 ENTER_V8; 2627 ENTER_V8;
2627 i::Handle<i::JSObject> self = Utils::OpenHandle(this); 2628 i::Handle<i::JSObject> self = Utils::OpenHandle(this);
2628 2629
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
2832 ON_BAILOUT(isolate, "v8::Object::TurnOnAccessCheck()", return); 2833 ON_BAILOUT(isolate, "v8::Object::TurnOnAccessCheck()", return);
2833 ENTER_V8; 2834 ENTER_V8;
2834 i::HandleScope scope(isolate); 2835 i::HandleScope scope(isolate);
2835 i::Handle<i::JSObject> obj = Utils::OpenHandle(this); 2836 i::Handle<i::JSObject> obj = Utils::OpenHandle(this);
2836 2837
2837 // When turning on access checks for a global object deoptimize all functions 2838 // When turning on access checks for a global object deoptimize all functions
2838 // as optimized code does not always handle access checks. 2839 // as optimized code does not always handle access checks.
2839 i::Deoptimizer::DeoptimizeGlobalObject(*obj); 2840 i::Deoptimizer::DeoptimizeGlobalObject(*obj);
2840 2841
2841 i::Handle<i::Map> new_map = 2842 i::Handle<i::Map> new_map =
2842 FACTORY->CopyMapDropTransitions(i::Handle<i::Map>(obj->map())); 2843 isolate->factory()->CopyMapDropTransitions(i::Handle<i::Map>(obj->map()));
2843 new_map->set_is_access_check_needed(true); 2844 new_map->set_is_access_check_needed(true);
2844 obj->set_map(*new_map); 2845 obj->set_map(*new_map);
2845 } 2846 }
2846 2847
2847 2848
2848 bool v8::Object::IsDirty() { 2849 bool v8::Object::IsDirty() {
2849 return Utils::OpenHandle(this)->IsDirty(); 2850 return Utils::OpenHandle(this)->IsDirty();
2850 } 2851 }
2851 2852
2852 2853
(...skipping 18 matching lines...) Expand all
2871 i::Handle<i::JSObject> self = Utils::OpenHandle(this); 2872 i::Handle<i::JSObject> self = Utils::OpenHandle(this);
2872 i::Handle<i::Object> hidden_props_obj(i::GetHiddenProperties(self, true)); 2873 i::Handle<i::Object> hidden_props_obj(i::GetHiddenProperties(self, true));
2873 if (!hidden_props_obj->IsJSObject()) { 2874 if (!hidden_props_obj->IsJSObject()) {
2874 // We failed to create hidden properties. That's a detached 2875 // We failed to create hidden properties. That's a detached
2875 // global proxy. 2876 // global proxy.
2876 ASSERT(hidden_props_obj->IsUndefined()); 2877 ASSERT(hidden_props_obj->IsUndefined());
2877 return 0; 2878 return 0;
2878 } 2879 }
2879 i::Handle<i::JSObject> hidden_props = 2880 i::Handle<i::JSObject> hidden_props =
2880 i::Handle<i::JSObject>::cast(hidden_props_obj); 2881 i::Handle<i::JSObject>::cast(hidden_props_obj);
2881 i::Handle<i::String> hash_symbol = FACTORY->identity_hash_symbol(); 2882 i::Handle<i::String> hash_symbol = isolate->factory()->identity_hash_symbol();
2882 if (hidden_props->HasLocalProperty(*hash_symbol)) { 2883 if (hidden_props->HasLocalProperty(*hash_symbol)) {
2883 i::Handle<i::Object> hash = i::GetProperty(hidden_props, hash_symbol); 2884 i::Handle<i::Object> hash = i::GetProperty(hidden_props, hash_symbol);
2884 CHECK(!hash.is_null()); 2885 CHECK(!hash.is_null());
2885 CHECK(hash->IsSmi()); 2886 CHECK(hash->IsSmi());
2886 return i::Smi::cast(*hash)->value(); 2887 return i::Smi::cast(*hash)->value();
2887 } 2888 }
2888 2889
2889 int hash_value; 2890 int hash_value;
2890 int attempts = 0; 2891 int attempts = 0;
2891 do { 2892 do {
(...skipping 1346 matching lines...) Expand 10 before | Expand all | Expand 10 after
4238 } 4239 }
4239 4240
4240 4241
4241 Local<String> v8::String::NewSymbol(const char* data, int length) { 4242 Local<String> v8::String::NewSymbol(const char* data, int length) {
4242 i::Isolate* isolate = i::Isolate::Current(); 4243 i::Isolate* isolate = i::Isolate::Current();
4243 EnsureInitializedForIsolate(isolate, "v8::String::NewSymbol()"); 4244 EnsureInitializedForIsolate(isolate, "v8::String::NewSymbol()");
4244 LOG_API(isolate, "String::NewSymbol(char)"); 4245 LOG_API(isolate, "String::NewSymbol(char)");
4245 ENTER_V8; 4246 ENTER_V8;
4246 if (length == -1) length = i::StrLength(data); 4247 if (length == -1) length = i::StrLength(data);
4247 i::Handle<i::String> result = 4248 i::Handle<i::String> result =
4248 FACTORY->LookupSymbol(i::Vector<const char>(data, length)); 4249 isolate->factory()->LookupSymbol(i::Vector<const char>(data, length));
4249 return Utils::ToLocal(result); 4250 return Utils::ToLocal(result);
4250 } 4251 }
4251 4252
4252 4253
4253 Local<Number> v8::Number::New(double value) { 4254 Local<Number> v8::Number::New(double value) {
4254 i::Isolate* isolate = i::Isolate::Current(); 4255 i::Isolate* isolate = i::Isolate::Current();
4255 EnsureInitializedForIsolate(isolate, "v8::Number::New()"); 4256 EnsureInitializedForIsolate(isolate, "v8::Number::New()");
4256 if (isnan(value)) { 4257 if (isnan(value)) {
4257 // Introduce only canonical NaN value into the VM, to avoid signaling NaNs. 4258 // Introduce only canonical NaN value into the VM, to avoid signaling NaNs.
4258 value = i::OS::nan_value(); 4259 value = i::OS::nan_value();
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
4697 4698
4698 Local<Value> Exception::RangeError(v8::Handle<v8::String> raw_message) { 4699 Local<Value> Exception::RangeError(v8::Handle<v8::String> raw_message) {
4699 i::Isolate* isolate = i::Isolate::Current(); 4700 i::Isolate* isolate = i::Isolate::Current();
4700 LOG_API(isolate, "RangeError"); 4701 LOG_API(isolate, "RangeError");
4701 ON_BAILOUT(isolate, "v8::Exception::RangeError()", return Local<Value>()); 4702 ON_BAILOUT(isolate, "v8::Exception::RangeError()", return Local<Value>());
4702 ENTER_V8; 4703 ENTER_V8;
4703 i::Object* error; 4704 i::Object* error;
4704 { 4705 {
4705 i::HandleScope scope(isolate); 4706 i::HandleScope scope(isolate);
4706 i::Handle<i::String> message = Utils::OpenHandle(*raw_message); 4707 i::Handle<i::String> message = Utils::OpenHandle(*raw_message);
4707 i::Handle<i::Object> result = FACTORY->NewRangeError(message); 4708 i::Handle<i::Object> result = isolate->factory()->NewRangeError(message);
4708 error = *result; 4709 error = *result;
4709 } 4710 }
4710 i::Handle<i::Object> result(error); 4711 i::Handle<i::Object> result(error);
4711 return Utils::ToLocal(result); 4712 return Utils::ToLocal(result);
4712 } 4713 }
4713 4714
4714 Local<Value> Exception::ReferenceError(v8::Handle<v8::String> raw_message) { 4715 Local<Value> Exception::ReferenceError(v8::Handle<v8::String> raw_message) {
4715 i::Isolate* isolate = i::Isolate::Current(); 4716 i::Isolate* isolate = i::Isolate::Current();
4716 LOG_API(isolate, "ReferenceError"); 4717 LOG_API(isolate, "ReferenceError");
4717 ON_BAILOUT(isolate, "v8::Exception::ReferenceError()", return Local<Value>()); 4718 ON_BAILOUT(isolate, "v8::Exception::ReferenceError()", return Local<Value>());
4718 ENTER_V8; 4719 ENTER_V8;
4719 i::Object* error; 4720 i::Object* error;
4720 { 4721 {
4721 i::HandleScope scope(isolate); 4722 i::HandleScope scope(isolate);
4722 i::Handle<i::String> message = Utils::OpenHandle(*raw_message); 4723 i::Handle<i::String> message = Utils::OpenHandle(*raw_message);
4723 i::Handle<i::Object> result = FACTORY->NewReferenceError(message); 4724 i::Handle<i::Object> result = isolate->factory()->NewReferenceError(message) ;
4724 error = *result; 4725 error = *result;
4725 } 4726 }
4726 i::Handle<i::Object> result(error); 4727 i::Handle<i::Object> result(error);
4727 return Utils::ToLocal(result); 4728 return Utils::ToLocal(result);
4728 } 4729 }
4729 4730
4730 Local<Value> Exception::SyntaxError(v8::Handle<v8::String> raw_message) { 4731 Local<Value> Exception::SyntaxError(v8::Handle<v8::String> raw_message) {
4731 i::Isolate* isolate = i::Isolate::Current(); 4732 i::Isolate* isolate = i::Isolate::Current();
4732 LOG_API(isolate, "SyntaxError"); 4733 LOG_API(isolate, "SyntaxError");
4733 ON_BAILOUT(isolate, "v8::Exception::SyntaxError()", return Local<Value>()); 4734 ON_BAILOUT(isolate, "v8::Exception::SyntaxError()", return Local<Value>());
4734 ENTER_V8; 4735 ENTER_V8;
4735 i::Object* error; 4736 i::Object* error;
4736 { 4737 {
4737 i::HandleScope scope(isolate); 4738 i::HandleScope scope(isolate);
4738 i::Handle<i::String> message = Utils::OpenHandle(*raw_message); 4739 i::Handle<i::String> message = Utils::OpenHandle(*raw_message);
4739 i::Handle<i::Object> result = FACTORY->NewSyntaxError(message); 4740 i::Handle<i::Object> result = isolate->factory()->NewSyntaxError(message);
4740 error = *result; 4741 error = *result;
4741 } 4742 }
4742 i::Handle<i::Object> result(error); 4743 i::Handle<i::Object> result(error);
4743 return Utils::ToLocal(result); 4744 return Utils::ToLocal(result);
4744 } 4745 }
4745 4746
4746 Local<Value> Exception::TypeError(v8::Handle<v8::String> raw_message) { 4747 Local<Value> Exception::TypeError(v8::Handle<v8::String> raw_message) {
4747 i::Isolate* isolate = i::Isolate::Current(); 4748 i::Isolate* isolate = i::Isolate::Current();
4748 LOG_API(isolate, "TypeError"); 4749 LOG_API(isolate, "TypeError");
4749 ON_BAILOUT(isolate, "v8::Exception::TypeError()", return Local<Value>()); 4750 ON_BAILOUT(isolate, "v8::Exception::TypeError()", return Local<Value>());
4750 ENTER_V8; 4751 ENTER_V8;
4751 i::Object* error; 4752 i::Object* error;
4752 { 4753 {
4753 i::HandleScope scope(isolate); 4754 i::HandleScope scope(isolate);
4754 i::Handle<i::String> message = Utils::OpenHandle(*raw_message); 4755 i::Handle<i::String> message = Utils::OpenHandle(*raw_message);
4755 i::Handle<i::Object> result = FACTORY->NewTypeError(message); 4756 i::Handle<i::Object> result = isolate->factory()->NewTypeError(message);
4756 error = *result; 4757 error = *result;
4757 } 4758 }
4758 i::Handle<i::Object> result(error); 4759 i::Handle<i::Object> result(error);
4759 return Utils::ToLocal(result); 4760 return Utils::ToLocal(result);
4760 } 4761 }
4761 4762
4762 Local<Value> Exception::Error(v8::Handle<v8::String> raw_message) { 4763 Local<Value> Exception::Error(v8::Handle<v8::String> raw_message) {
4763 i::Isolate* isolate = i::Isolate::Current(); 4764 i::Isolate* isolate = i::Isolate::Current();
4764 LOG_API(isolate, "Error"); 4765 LOG_API(isolate, "Error");
4765 ON_BAILOUT(isolate, "v8::Exception::Error()", return Local<Value>()); 4766 ON_BAILOUT(isolate, "v8::Exception::Error()", return Local<Value>());
4766 ENTER_V8; 4767 ENTER_V8;
4767 i::Object* error; 4768 i::Object* error;
4768 { 4769 {
4769 i::HandleScope scope(isolate); 4770 i::HandleScope scope(isolate);
4770 i::Handle<i::String> message = Utils::OpenHandle(*raw_message); 4771 i::Handle<i::String> message = Utils::OpenHandle(*raw_message);
4771 i::Handle<i::Object> result = FACTORY->NewError(message); 4772 i::Handle<i::Object> result = isolate->factory()->NewError(message);
4772 error = *result; 4773 error = *result;
4773 } 4774 }
4774 i::Handle<i::Object> result(error); 4775 i::Handle<i::Object> result(error);
4775 return Utils::ToLocal(result); 4776 return Utils::ToLocal(result);
4776 } 4777 }
4777 4778
4778 4779
4779 // --- D e b u g S u p p o r t --- 4780 // --- D e b u g S u p p o r t ---
4780 4781
4781 #ifdef ENABLE_DEBUGGER_SUPPORT 4782 #ifdef ENABLE_DEBUGGER_SUPPORT
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
4939 v8::Handle<v8::Value> data) { 4940 v8::Handle<v8::Value> data) {
4940 i::Isolate* isolate = i::Isolate::Current(); 4941 i::Isolate* isolate = i::Isolate::Current();
4941 if (!isolate->IsInitialized()) return Local<Value>(); 4942 if (!isolate->IsInitialized()) return Local<Value>();
4942 ON_BAILOUT(isolate, "v8::Debug::Call()", return Local<Value>()); 4943 ON_BAILOUT(isolate, "v8::Debug::Call()", return Local<Value>());
4943 ENTER_V8; 4944 ENTER_V8;
4944 i::Handle<i::Object> result; 4945 i::Handle<i::Object> result;
4945 EXCEPTION_PREAMBLE(); 4946 EXCEPTION_PREAMBLE();
4946 if (data.IsEmpty()) { 4947 if (data.IsEmpty()) {
4947 result = 4948 result =
4948 i::Isolate::Current()->debugger()->Call(Utils::OpenHandle(*fun), 4949 i::Isolate::Current()->debugger()->Call(Utils::OpenHandle(*fun),
4949 FACTORY->undefined_value(), 4950 isolate->factory()->undefined_va lue(),
4950 &has_pending_exception); 4951 &has_pending_exception);
4951 } else { 4952 } else {
4952 result = i::Isolate::Current()->debugger()->Call(Utils::OpenHandle(*fun), 4953 result = i::Isolate::Current()->debugger()->Call(Utils::OpenHandle(*fun),
4953 Utils::OpenHandle(*data), 4954 Utils::OpenHandle(*data),
4954 &has_pending_exception); 4955 &has_pending_exception);
4955 } 4956 }
4956 EXCEPTION_BAILOUT_CHECK(Local<Value>()); 4957 EXCEPTION_BAILOUT_CHECK(Local<Value>());
4957 return Utils::ToLocal(result); 4958 return Utils::ToLocal(result);
4958 } 4959 }
4959 4960
4960 4961
4961 Local<Value> Debug::GetMirror(v8::Handle<v8::Value> obj) { 4962 Local<Value> Debug::GetMirror(v8::Handle<v8::Value> obj) {
4962 i::Isolate* isolate = i::Isolate::Current(); 4963 i::Isolate* isolate = i::Isolate::Current();
4963 if (!isolate->IsInitialized()) return Local<Value>(); 4964 if (!isolate->IsInitialized()) return Local<Value>();
4964 ON_BAILOUT(isolate, "v8::Debug::GetMirror()", return Local<Value>()); 4965 ON_BAILOUT(isolate, "v8::Debug::GetMirror()", return Local<Value>());
4965 ENTER_V8; 4966 ENTER_V8;
4966 v8::HandleScope scope; 4967 v8::HandleScope scope;
4967 i::Debug* isolate_debug = i::Isolate::Current()->debug(); 4968 i::Debug* isolate_debug = i::Isolate::Current()->debug();
4968 isolate_debug->Load(); 4969 isolate_debug->Load();
4969 i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global()); 4970 i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global());
4970 i::Handle<i::String> name = FACTORY->LookupAsciiSymbol("MakeMirror"); 4971 i::Handle<i::String> name = isolate->factory()->LookupAsciiSymbol("MakeMirror" );
4971 i::Handle<i::Object> fun_obj = i::GetProperty(debug, name); 4972 i::Handle<i::Object> fun_obj = i::GetProperty(debug, name);
4972 i::Handle<i::JSFunction> fun = i::Handle<i::JSFunction>::cast(fun_obj); 4973 i::Handle<i::JSFunction> fun = i::Handle<i::JSFunction>::cast(fun_obj);
4973 v8::Handle<v8::Function> v8_fun = Utils::ToLocal(fun); 4974 v8::Handle<v8::Function> v8_fun = Utils::ToLocal(fun);
4974 const int kArgc = 1; 4975 const int kArgc = 1;
4975 v8::Handle<v8::Value> argv[kArgc] = { obj }; 4976 v8::Handle<v8::Value> argv[kArgc] = { obj };
4976 EXCEPTION_PREAMBLE(); 4977 EXCEPTION_PREAMBLE();
4977 v8::Handle<v8::Value> result = v8_fun->Call(Utils::ToLocal(debug), 4978 v8::Handle<v8::Value> result = v8_fun->Call(Utils::ToLocal(debug),
4978 kArgc, 4979 kArgc,
4979 argv); 4980 argv);
4980 EXCEPTION_BAILOUT_CHECK(Local<Value>()); 4981 EXCEPTION_BAILOUT_CHECK(Local<Value>());
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
5015 isolate->factory()->LookupAsciiSymbol(entry->name_prefix()), 5016 isolate->factory()->LookupAsciiSymbol(entry->name_prefix()),
5016 isolate->factory()->LookupAsciiSymbol(entry->name())))); 5017 isolate->factory()->LookupAsciiSymbol(entry->name()))));
5017 } 5018 }
5018 } 5019 }
5019 5020
5020 5021
5021 Handle<String> CpuProfileNode::GetScriptResourceName() const { 5022 Handle<String> CpuProfileNode::GetScriptResourceName() const {
5022 i::Isolate* isolate = i::Isolate::Current(); 5023 i::Isolate* isolate = i::Isolate::Current();
5023 IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptResourceName"); 5024 IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptResourceName");
5024 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this); 5025 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this);
5025 return Handle<String>(ToApi<String>(FACTORY->LookupAsciiSymbol( 5026 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol(
5026 node->entry()->resource_name()))); 5027 node->entry()->resource_name())));
5027 } 5028 }
5028 5029
5029 5030
5030 int CpuProfileNode::GetLineNumber() const { 5031 int CpuProfileNode::GetLineNumber() const {
5031 i::Isolate* isolate = i::Isolate::Current(); 5032 i::Isolate* isolate = i::Isolate::Current();
5032 IsDeadCheck(isolate, "v8::CpuProfileNode::GetLineNumber"); 5033 IsDeadCheck(isolate, "v8::CpuProfileNode::GetLineNumber");
5033 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->line_number(); 5034 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->line_number();
5034 } 5035 }
5035 5036
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
5101 i::Isolate* isolate = i::Isolate::Current(); 5102 i::Isolate* isolate = i::Isolate::Current();
5102 IsDeadCheck(isolate, "v8::CpuProfile::GetUid"); 5103 IsDeadCheck(isolate, "v8::CpuProfile::GetUid");
5103 return reinterpret_cast<const i::CpuProfile*>(this)->uid(); 5104 return reinterpret_cast<const i::CpuProfile*>(this)->uid();
5104 } 5105 }
5105 5106
5106 5107
5107 Handle<String> CpuProfile::GetTitle() const { 5108 Handle<String> CpuProfile::GetTitle() const {
5108 i::Isolate* isolate = i::Isolate::Current(); 5109 i::Isolate* isolate = i::Isolate::Current();
5109 IsDeadCheck(isolate, "v8::CpuProfile::GetTitle"); 5110 IsDeadCheck(isolate, "v8::CpuProfile::GetTitle");
5110 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this); 5111 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this);
5111 return Handle<String>(ToApi<String>(FACTORY->LookupAsciiSymbol( 5112 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol(
5112 profile->title()))); 5113 profile->title())));
5113 } 5114 }
5114 5115
5115 5116
5116 const CpuProfileNode* CpuProfile::GetBottomUpRoot() const { 5117 const CpuProfileNode* CpuProfile::GetBottomUpRoot() const {
5117 i::Isolate* isolate = i::Isolate::Current(); 5118 i::Isolate* isolate = i::Isolate::Current();
5118 IsDeadCheck(isolate, "v8::CpuProfile::GetBottomUpRoot"); 5119 IsDeadCheck(isolate, "v8::CpuProfile::GetBottomUpRoot");
5119 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this); 5120 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this);
5120 return reinterpret_cast<const CpuProfileNode*>(profile->bottom_up()->root()); 5121 return reinterpret_cast<const CpuProfileNode*>(profile->bottom_up()->root());
5121 } 5122 }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
5197 5198
5198 Handle<Value> HeapGraphEdge::GetName() const { 5199 Handle<Value> HeapGraphEdge::GetName() const {
5199 i::Isolate* isolate = i::Isolate::Current(); 5200 i::Isolate* isolate = i::Isolate::Current();
5200 IsDeadCheck(isolate, "v8::HeapGraphEdge::GetName"); 5201 IsDeadCheck(isolate, "v8::HeapGraphEdge::GetName");
5201 i::HeapGraphEdge* edge = ToInternal(this); 5202 i::HeapGraphEdge* edge = ToInternal(this);
5202 switch (edge->type()) { 5203 switch (edge->type()) {
5203 case i::HeapGraphEdge::kContextVariable: 5204 case i::HeapGraphEdge::kContextVariable:
5204 case i::HeapGraphEdge::kInternal: 5205 case i::HeapGraphEdge::kInternal:
5205 case i::HeapGraphEdge::kProperty: 5206 case i::HeapGraphEdge::kProperty:
5206 case i::HeapGraphEdge::kShortcut: 5207 case i::HeapGraphEdge::kShortcut:
5207 return Handle<String>(ToApi<String>(FACTORY->LookupAsciiSymbol( 5208 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol(
5208 edge->name()))); 5209 edge->name())));
5209 case i::HeapGraphEdge::kElement: 5210 case i::HeapGraphEdge::kElement:
5210 case i::HeapGraphEdge::kHidden: 5211 case i::HeapGraphEdge::kHidden:
5211 return Handle<Number>(ToApi<Number>(FACTORY->NewNumberFromInt( 5212 return Handle<Number>(ToApi<Number>(isolate->factory()->NewNumberFromInt(
5212 edge->index()))); 5213 edge->index())));
5213 default: UNREACHABLE(); 5214 default: UNREACHABLE();
5214 } 5215 }
5215 return ImplementationUtilities::Undefined(); 5216 return ImplementationUtilities::Undefined();
5216 } 5217 }
5217 5218
5218 5219
5219 const HeapGraphNode* HeapGraphEdge::GetFromNode() const { 5220 const HeapGraphNode* HeapGraphEdge::GetFromNode() const {
5220 i::Isolate* isolate = i::Isolate::Current(); 5221 i::Isolate* isolate = i::Isolate::Current();
5221 IsDeadCheck(isolate, "v8::HeapGraphEdge::GetFromNode"); 5222 IsDeadCheck(isolate, "v8::HeapGraphEdge::GetFromNode");
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
5269 HeapGraphNode::Type HeapGraphNode::GetType() const { 5270 HeapGraphNode::Type HeapGraphNode::GetType() const {
5270 i::Isolate* isolate = i::Isolate::Current(); 5271 i::Isolate* isolate = i::Isolate::Current();
5271 IsDeadCheck(isolate, "v8::HeapGraphNode::GetType"); 5272 IsDeadCheck(isolate, "v8::HeapGraphNode::GetType");
5272 return static_cast<HeapGraphNode::Type>(ToInternal(this)->type()); 5273 return static_cast<HeapGraphNode::Type>(ToInternal(this)->type());
5273 } 5274 }
5274 5275
5275 5276
5276 Handle<String> HeapGraphNode::GetName() const { 5277 Handle<String> HeapGraphNode::GetName() const {
5277 i::Isolate* isolate = i::Isolate::Current(); 5278 i::Isolate* isolate = i::Isolate::Current();
5278 IsDeadCheck(isolate, "v8::HeapGraphNode::GetName"); 5279 IsDeadCheck(isolate, "v8::HeapGraphNode::GetName");
5279 return Handle<String>(ToApi<String>(FACTORY->LookupAsciiSymbol( 5280 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol(
5280 ToInternal(this)->name()))); 5281 ToInternal(this)->name())));
5281 } 5282 }
5282 5283
5283 5284
5284 uint64_t HeapGraphNode::GetId() const { 5285 uint64_t HeapGraphNode::GetId() const {
5285 i::Isolate* isolate = i::Isolate::Current(); 5286 i::Isolate* isolate = i::Isolate::Current();
5286 IsDeadCheck(isolate, "v8::HeapGraphNode::GetId"); 5287 IsDeadCheck(isolate, "v8::HeapGraphNode::GetId");
5287 ASSERT(ToInternal(this)->snapshot()->type() != i::HeapSnapshot::kAggregated); 5288 ASSERT(ToInternal(this)->snapshot()->type() != i::HeapSnapshot::kAggregated);
5288 return ToInternal(this)->id(); 5289 return ToInternal(this)->id();
5289 } 5290 }
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
5411 unsigned HeapSnapshot::GetUid() const { 5412 unsigned HeapSnapshot::GetUid() const {
5412 i::Isolate* isolate = i::Isolate::Current(); 5413 i::Isolate* isolate = i::Isolate::Current();
5413 IsDeadCheck(isolate, "v8::HeapSnapshot::GetUid"); 5414 IsDeadCheck(isolate, "v8::HeapSnapshot::GetUid");
5414 return ToInternal(this)->uid(); 5415 return ToInternal(this)->uid();
5415 } 5416 }
5416 5417
5417 5418
5418 Handle<String> HeapSnapshot::GetTitle() const { 5419 Handle<String> HeapSnapshot::GetTitle() const {
5419 i::Isolate* isolate = i::Isolate::Current(); 5420 i::Isolate* isolate = i::Isolate::Current();
5420 IsDeadCheck(isolate, "v8::HeapSnapshot::GetTitle"); 5421 IsDeadCheck(isolate, "v8::HeapSnapshot::GetTitle");
5421 return Handle<String>(ToApi<String>(FACTORY->LookupAsciiSymbol( 5422 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol(
5422 ToInternal(this)->title()))); 5423 ToInternal(this)->title())));
5423 } 5424 }
5424 5425
5425 5426
5426 const HeapGraphNode* HeapSnapshot::GetRoot() const { 5427 const HeapGraphNode* HeapSnapshot::GetRoot() const {
5427 i::Isolate* isolate = i::Isolate::Current(); 5428 i::Isolate* isolate = i::Isolate::Current();
5428 IsDeadCheck(isolate, "v8::HeapSnapshot::GetHead"); 5429 IsDeadCheck(isolate, "v8::HeapSnapshot::GetHead");
5429 return reinterpret_cast<const HeapGraphNode*>(ToInternal(this)->root()); 5430 return reinterpret_cast<const HeapGraphNode*>(ToInternal(this)->root());
5430 } 5431 }
5431 5432
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
5654 5655
5655 5656
5656 char* HandleScopeImplementer::Iterate(ObjectVisitor* v, char* storage) { 5657 char* HandleScopeImplementer::Iterate(ObjectVisitor* v, char* storage) {
5657 HandleScopeImplementer* thread_local = 5658 HandleScopeImplementer* thread_local =
5658 reinterpret_cast<HandleScopeImplementer*>(storage); 5659 reinterpret_cast<HandleScopeImplementer*>(storage);
5659 thread_local->IterateThis(v); 5660 thread_local->IterateThis(v);
5660 return storage + ArchiveSpacePerThread(); 5661 return storage + ArchiveSpacePerThread();
5661 } 5662 }
5662 5663
5663 } } // namespace v8::internal 5664 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « AUTHORS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698