| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1935 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1946 return scope.Close(Utils::StackTraceToLocal(stackTrace)); | 1946 return scope.Close(Utils::StackTraceToLocal(stackTrace)); |
| 1947 } | 1947 } |
| 1948 | 1948 |
| 1949 | 1949 |
| 1950 static i::Handle<i::Object> CallV8HeapFunction(const char* name, | 1950 static i::Handle<i::Object> CallV8HeapFunction(const char* name, |
| 1951 i::Handle<i::Object> recv, | 1951 i::Handle<i::Object> recv, |
| 1952 int argc, | 1952 int argc, |
| 1953 i::Handle<i::Object> argv[], | 1953 i::Handle<i::Object> argv[], |
| 1954 bool* has_pending_exception) { | 1954 bool* has_pending_exception) { |
| 1955 i::Isolate* isolate = i::Isolate::Current(); | 1955 i::Isolate* isolate = i::Isolate::Current(); |
| 1956 i::Handle<i::String> fmt_str = isolate->factory()->LookupAsciiSymbol(name); | 1956 i::Handle<i::String> fmt_str = isolate->factory()->LookupUtf8Symbol(name); |
| 1957 i::Object* object_fun = | 1957 i::Object* object_fun = |
| 1958 isolate->js_builtins_object()->GetPropertyNoExceptionThrown(*fmt_str); | 1958 isolate->js_builtins_object()->GetPropertyNoExceptionThrown(*fmt_str); |
| 1959 i::Handle<i::JSFunction> fun = | 1959 i::Handle<i::JSFunction> fun = |
| 1960 i::Handle<i::JSFunction>(i::JSFunction::cast(object_fun)); | 1960 i::Handle<i::JSFunction>(i::JSFunction::cast(object_fun)); |
| 1961 i::Handle<i::Object> value = | 1961 i::Handle<i::Object> value = |
| 1962 i::Execution::Call(fun, recv, argc, argv, has_pending_exception); | 1962 i::Execution::Call(fun, recv, argc, argv, has_pending_exception); |
| 1963 return value; | 1963 return value; |
| 1964 } | 1964 } |
| 1965 | 1965 |
| 1966 | 1966 |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2362 i::Isolate* isolate = i::Isolate::Current(); | 2362 i::Isolate* isolate = i::Isolate::Current(); |
| 2363 if (IsDeadCheck(isolate, "v8::Value::IsNumberObject()")) return false; | 2363 if (IsDeadCheck(isolate, "v8::Value::IsNumberObject()")) return false; |
| 2364 i::Handle<i::Object> obj = Utils::OpenHandle(this); | 2364 i::Handle<i::Object> obj = Utils::OpenHandle(this); |
| 2365 return obj->HasSpecificClassOf(isolate->heap()->Number_symbol()); | 2365 return obj->HasSpecificClassOf(isolate->heap()->Number_symbol()); |
| 2366 } | 2366 } |
| 2367 | 2367 |
| 2368 | 2368 |
| 2369 static i::Object* LookupBuiltin(i::Isolate* isolate, | 2369 static i::Object* LookupBuiltin(i::Isolate* isolate, |
| 2370 const char* builtin_name) { | 2370 const char* builtin_name) { |
| 2371 i::Handle<i::String> symbol = | 2371 i::Handle<i::String> symbol = |
| 2372 isolate->factory()->LookupAsciiSymbol(builtin_name); | 2372 isolate->factory()->LookupUtf8Symbol(builtin_name); |
| 2373 i::Handle<i::JSBuiltinsObject> builtins = isolate->js_builtins_object(); | 2373 i::Handle<i::JSBuiltinsObject> builtins = isolate->js_builtins_object(); |
| 2374 return builtins->GetPropertyNoExceptionThrown(*symbol); | 2374 return builtins->GetPropertyNoExceptionThrown(*symbol); |
| 2375 } | 2375 } |
| 2376 | 2376 |
| 2377 | 2377 |
| 2378 static bool CheckConstructor(i::Isolate* isolate, | 2378 static bool CheckConstructor(i::Isolate* isolate, |
| 2379 i::Handle<i::JSObject> obj, | 2379 i::Handle<i::JSObject> obj, |
| 2380 const char* class_name) { | 2380 const char* class_name) { |
| 2381 i::Object* constr = obj->map()->constructor(); | 2381 i::Object* constr = obj->map()->constructor(); |
| 2382 if (!constr->IsJSFunction()) return false; | 2382 if (!constr->IsJSFunction()) return false; |
| (...skipping 2739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5122 i::Isolate* isolate = i::Isolate::Current(); | 5122 i::Isolate* isolate = i::Isolate::Current(); |
| 5123 ON_BAILOUT(isolate, "v8::Date::DateTimeConfigurationChangeNotification()", | 5123 ON_BAILOUT(isolate, "v8::Date::DateTimeConfigurationChangeNotification()", |
| 5124 return); | 5124 return); |
| 5125 LOG_API(isolate, "Date::DateTimeConfigurationChangeNotification"); | 5125 LOG_API(isolate, "Date::DateTimeConfigurationChangeNotification"); |
| 5126 ENTER_V8(isolate); | 5126 ENTER_V8(isolate); |
| 5127 | 5127 |
| 5128 isolate->date_cache()->ResetDateCache(); | 5128 isolate->date_cache()->ResetDateCache(); |
| 5129 | 5129 |
| 5130 i::HandleScope scope(isolate); | 5130 i::HandleScope scope(isolate); |
| 5131 // Get the function ResetDateCache (defined in date.js). | 5131 // Get the function ResetDateCache (defined in date.js). |
| 5132 i::Handle<i::String> func_name_str = | 5132 i::Handle<i::String> func_name_str = isolate->factory()->LookupOneByteSymbol( |
| 5133 isolate->factory()->LookupAsciiSymbol("ResetDateCache"); | 5133 STATIC_ASCII_VECTOR("ResetDateCache")); |
| 5134 i::MaybeObject* result = | 5134 i::MaybeObject* result = |
| 5135 isolate->js_builtins_object()->GetProperty(*func_name_str); | 5135 isolate->js_builtins_object()->GetProperty(*func_name_str); |
| 5136 i::Object* object_func; | 5136 i::Object* object_func; |
| 5137 if (!result->ToObject(&object_func)) { | 5137 if (!result->ToObject(&object_func)) { |
| 5138 return; | 5138 return; |
| 5139 } | 5139 } |
| 5140 | 5140 |
| 5141 if (object_func->IsJSFunction()) { | 5141 if (object_func->IsJSFunction()) { |
| 5142 i::Handle<i::JSFunction> func = | 5142 i::Handle<i::JSFunction> func = |
| 5143 i::Handle<i::JSFunction>(i::JSFunction::cast(object_func)); | 5143 i::Handle<i::JSFunction>(i::JSFunction::cast(object_func)); |
| 5144 | 5144 |
| 5145 // Call ResetDateCache(0 but expect no exceptions: | 5145 // Call ResetDateCache(0 but expect no exceptions: |
| 5146 bool caught_exception = false; | 5146 bool caught_exception = false; |
| 5147 i::Execution::TryCall(func, | 5147 i::Execution::TryCall(func, |
| 5148 isolate->js_builtins_object(), | 5148 isolate->js_builtins_object(), |
| 5149 0, | 5149 0, |
| 5150 NULL, | 5150 NULL, |
| 5151 &caught_exception); | 5151 &caught_exception); |
| 5152 } | 5152 } |
| 5153 } | 5153 } |
| 5154 | 5154 |
| 5155 | 5155 |
| 5156 static i::Handle<i::String> RegExpFlagsToString(RegExp::Flags flags) { | 5156 static i::Handle<i::String> RegExpFlagsToString(RegExp::Flags flags) { |
| 5157 char flags_buf[3]; | 5157 char flags_buf[3]; |
| 5158 int num_flags = 0; | 5158 int num_flags = 0; |
| 5159 if ((flags & RegExp::kGlobal) != 0) flags_buf[num_flags++] = 'g'; | 5159 if ((flags & RegExp::kGlobal) != 0) flags_buf[num_flags++] = 'g'; |
| 5160 if ((flags & RegExp::kMultiline) != 0) flags_buf[num_flags++] = 'm'; | 5160 if ((flags & RegExp::kMultiline) != 0) flags_buf[num_flags++] = 'm'; |
| 5161 if ((flags & RegExp::kIgnoreCase) != 0) flags_buf[num_flags++] = 'i'; | 5161 if ((flags & RegExp::kIgnoreCase) != 0) flags_buf[num_flags++] = 'i'; |
| 5162 ASSERT(num_flags <= static_cast<int>(ARRAY_SIZE(flags_buf))); | 5162 ASSERT(num_flags <= static_cast<int>(ARRAY_SIZE(flags_buf))); |
| 5163 return FACTORY->LookupSymbol( | 5163 return FACTORY->LookupOneByteSymbol( |
| 5164 i::Vector<const char>(flags_buf, num_flags)); | 5164 i::Vector<const char>(flags_buf, num_flags)); |
| 5165 } | 5165 } |
| 5166 | 5166 |
| 5167 | 5167 |
| 5168 Local<v8::RegExp> v8::RegExp::New(Handle<String> pattern, | 5168 Local<v8::RegExp> v8::RegExp::New(Handle<String> pattern, |
| 5169 Flags flags) { | 5169 Flags flags) { |
| 5170 i::Isolate* isolate = Utils::OpenHandle(*pattern)->GetIsolate(); | 5170 i::Isolate* isolate = Utils::OpenHandle(*pattern)->GetIsolate(); |
| 5171 EnsureInitializedForIsolate(isolate, "v8::RegExp::New()"); | 5171 EnsureInitializedForIsolate(isolate, "v8::RegExp::New()"); |
| 5172 LOG_API(isolate, "RegExp::New"); | 5172 LOG_API(isolate, "RegExp::New"); |
| 5173 ENTER_V8(isolate); | 5173 ENTER_V8(isolate); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5258 return Utils::ToLocal(result); | 5258 return Utils::ToLocal(result); |
| 5259 } | 5259 } |
| 5260 | 5260 |
| 5261 | 5261 |
| 5262 Local<String> v8::String::NewSymbol(const char* data, int length) { | 5262 Local<String> v8::String::NewSymbol(const char* data, int length) { |
| 5263 i::Isolate* isolate = i::Isolate::Current(); | 5263 i::Isolate* isolate = i::Isolate::Current(); |
| 5264 EnsureInitializedForIsolate(isolate, "v8::String::NewSymbol()"); | 5264 EnsureInitializedForIsolate(isolate, "v8::String::NewSymbol()"); |
| 5265 LOG_API(isolate, "String::NewSymbol(char)"); | 5265 LOG_API(isolate, "String::NewSymbol(char)"); |
| 5266 ENTER_V8(isolate); | 5266 ENTER_V8(isolate); |
| 5267 if (length == -1) length = i::StrLength(data); | 5267 if (length == -1) length = i::StrLength(data); |
| 5268 i::Handle<i::String> result = | 5268 i::Handle<i::String> result = isolate->factory()->LookupUtf8Symbol( |
| 5269 isolate->factory()->LookupSymbol(i::Vector<const char>(data, length)); | 5269 i::Vector<const char>(data, length)); |
| 5270 return Utils::ToLocal(result); | 5270 return Utils::ToLocal(result); |
| 5271 } | 5271 } |
| 5272 | 5272 |
| 5273 | 5273 |
| 5274 Local<Number> v8::Number::New(double value) { | 5274 Local<Number> v8::Number::New(double value) { |
| 5275 i::Isolate* isolate = i::Isolate::Current(); | 5275 i::Isolate* isolate = i::Isolate::Current(); |
| 5276 EnsureInitializedForIsolate(isolate, "v8::Number::New()"); | 5276 EnsureInitializedForIsolate(isolate, "v8::Number::New()"); |
| 5277 if (isnan(value)) { | 5277 if (isnan(value)) { |
| 5278 // Introduce only canonical NaN value into the VM, to avoid signaling NaNs. | 5278 // Introduce only canonical NaN value into the VM, to avoid signaling NaNs. |
| 5279 value = i::OS::nan_value(); | 5279 value = i::OS::nan_value(); |
| (...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5953 | 5953 |
| 5954 Local<Value> Debug::GetMirror(v8::Handle<v8::Value> obj) { | 5954 Local<Value> Debug::GetMirror(v8::Handle<v8::Value> obj) { |
| 5955 i::Isolate* isolate = i::Isolate::Current(); | 5955 i::Isolate* isolate = i::Isolate::Current(); |
| 5956 if (!isolate->IsInitialized()) return Local<Value>(); | 5956 if (!isolate->IsInitialized()) return Local<Value>(); |
| 5957 ON_BAILOUT(isolate, "v8::Debug::GetMirror()", return Local<Value>()); | 5957 ON_BAILOUT(isolate, "v8::Debug::GetMirror()", return Local<Value>()); |
| 5958 ENTER_V8(isolate); | 5958 ENTER_V8(isolate); |
| 5959 v8::HandleScope scope; | 5959 v8::HandleScope scope; |
| 5960 i::Debug* isolate_debug = isolate->debug(); | 5960 i::Debug* isolate_debug = isolate->debug(); |
| 5961 isolate_debug->Load(); | 5961 isolate_debug->Load(); |
| 5962 i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global_object()); | 5962 i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global_object()); |
| 5963 i::Handle<i::String> name = | 5963 i::Handle<i::String> name = isolate->factory()->LookupOneByteSymbol( |
| 5964 isolate->factory()->LookupAsciiSymbol("MakeMirror"); | 5964 STATIC_ASCII_VECTOR("MakeMirror")); |
| 5965 i::Handle<i::Object> fun_obj = i::GetProperty(debug, name); | 5965 i::Handle<i::Object> fun_obj = i::GetProperty(debug, name); |
| 5966 i::Handle<i::JSFunction> fun = i::Handle<i::JSFunction>::cast(fun_obj); | 5966 i::Handle<i::JSFunction> fun = i::Handle<i::JSFunction>::cast(fun_obj); |
| 5967 v8::Handle<v8::Function> v8_fun = Utils::ToLocal(fun); | 5967 v8::Handle<v8::Function> v8_fun = Utils::ToLocal(fun); |
| 5968 const int kArgc = 1; | 5968 const int kArgc = 1; |
| 5969 v8::Handle<v8::Value> argv[kArgc] = { obj }; | 5969 v8::Handle<v8::Value> argv[kArgc] = { obj }; |
| 5970 EXCEPTION_PREAMBLE(isolate); | 5970 EXCEPTION_PREAMBLE(isolate); |
| 5971 v8::Handle<v8::Value> result = v8_fun->Call(Utils::ToLocal(debug), | 5971 v8::Handle<v8::Value> result = v8_fun->Call(Utils::ToLocal(debug), |
| 5972 kArgc, | 5972 kArgc, |
| 5973 argv); | 5973 argv); |
| 5974 EXCEPTION_BAILOUT_CHECK(isolate, Local<Value>()); | 5974 EXCEPTION_BAILOUT_CHECK(isolate, Local<Value>()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6016 #endif // ENABLE_DEBUGGER_SUPPORT | 6016 #endif // ENABLE_DEBUGGER_SUPPORT |
| 6017 | 6017 |
| 6018 | 6018 |
| 6019 Handle<String> CpuProfileNode::GetFunctionName() const { | 6019 Handle<String> CpuProfileNode::GetFunctionName() const { |
| 6020 i::Isolate* isolate = i::Isolate::Current(); | 6020 i::Isolate* isolate = i::Isolate::Current(); |
| 6021 IsDeadCheck(isolate, "v8::CpuProfileNode::GetFunctionName"); | 6021 IsDeadCheck(isolate, "v8::CpuProfileNode::GetFunctionName"); |
| 6022 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this); | 6022 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this); |
| 6023 const i::CodeEntry* entry = node->entry(); | 6023 const i::CodeEntry* entry = node->entry(); |
| 6024 if (!entry->has_name_prefix()) { | 6024 if (!entry->has_name_prefix()) { |
| 6025 return Handle<String>(ToApi<String>( | 6025 return Handle<String>(ToApi<String>( |
| 6026 isolate->factory()->LookupAsciiSymbol(entry->name()))); | 6026 isolate->factory()->LookupUtf8Symbol(entry->name()))); |
| 6027 } else { | 6027 } else { |
| 6028 return Handle<String>(ToApi<String>(isolate->factory()->NewConsString( | 6028 return Handle<String>(ToApi<String>(isolate->factory()->NewConsString( |
| 6029 isolate->factory()->LookupAsciiSymbol(entry->name_prefix()), | 6029 isolate->factory()->LookupUtf8Symbol(entry->name_prefix()), |
| 6030 isolate->factory()->LookupAsciiSymbol(entry->name())))); | 6030 isolate->factory()->LookupUtf8Symbol(entry->name())))); |
| 6031 } | 6031 } |
| 6032 } | 6032 } |
| 6033 | 6033 |
| 6034 | 6034 |
| 6035 Handle<String> CpuProfileNode::GetScriptResourceName() const { | 6035 Handle<String> CpuProfileNode::GetScriptResourceName() const { |
| 6036 i::Isolate* isolate = i::Isolate::Current(); | 6036 i::Isolate* isolate = i::Isolate::Current(); |
| 6037 IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptResourceName"); | 6037 IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptResourceName"); |
| 6038 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this); | 6038 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this); |
| 6039 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol( | 6039 return Handle<String>(ToApi<String>(isolate->factory()->LookupUtf8Symbol( |
| 6040 node->entry()->resource_name()))); | 6040 node->entry()->resource_name()))); |
| 6041 } | 6041 } |
| 6042 | 6042 |
| 6043 | 6043 |
| 6044 int CpuProfileNode::GetLineNumber() const { | 6044 int CpuProfileNode::GetLineNumber() const { |
| 6045 i::Isolate* isolate = i::Isolate::Current(); | 6045 i::Isolate* isolate = i::Isolate::Current(); |
| 6046 IsDeadCheck(isolate, "v8::CpuProfileNode::GetLineNumber"); | 6046 IsDeadCheck(isolate, "v8::CpuProfileNode::GetLineNumber"); |
| 6047 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->line_number(); | 6047 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->line_number(); |
| 6048 } | 6048 } |
| 6049 | 6049 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6115 i::Isolate* isolate = i::Isolate::Current(); | 6115 i::Isolate* isolate = i::Isolate::Current(); |
| 6116 IsDeadCheck(isolate, "v8::CpuProfile::GetUid"); | 6116 IsDeadCheck(isolate, "v8::CpuProfile::GetUid"); |
| 6117 return reinterpret_cast<const i::CpuProfile*>(this)->uid(); | 6117 return reinterpret_cast<const i::CpuProfile*>(this)->uid(); |
| 6118 } | 6118 } |
| 6119 | 6119 |
| 6120 | 6120 |
| 6121 Handle<String> CpuProfile::GetTitle() const { | 6121 Handle<String> CpuProfile::GetTitle() const { |
| 6122 i::Isolate* isolate = i::Isolate::Current(); | 6122 i::Isolate* isolate = i::Isolate::Current(); |
| 6123 IsDeadCheck(isolate, "v8::CpuProfile::GetTitle"); | 6123 IsDeadCheck(isolate, "v8::CpuProfile::GetTitle"); |
| 6124 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this); | 6124 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this); |
| 6125 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol( | 6125 return Handle<String>(ToApi<String>(isolate->factory()->LookupUtf8Symbol( |
| 6126 profile->title()))); | 6126 profile->title()))); |
| 6127 } | 6127 } |
| 6128 | 6128 |
| 6129 | 6129 |
| 6130 const CpuProfileNode* CpuProfile::GetBottomUpRoot() const { | 6130 const CpuProfileNode* CpuProfile::GetBottomUpRoot() const { |
| 6131 i::Isolate* isolate = i::Isolate::Current(); | 6131 i::Isolate* isolate = i::Isolate::Current(); |
| 6132 IsDeadCheck(isolate, "v8::CpuProfile::GetBottomUpRoot"); | 6132 IsDeadCheck(isolate, "v8::CpuProfile::GetBottomUpRoot"); |
| 6133 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this); | 6133 const i::CpuProfile* profile = reinterpret_cast<const i::CpuProfile*>(this); |
| 6134 return reinterpret_cast<const CpuProfileNode*>(profile->bottom_up()->root()); | 6134 return reinterpret_cast<const CpuProfileNode*>(profile->bottom_up()->root()); |
| 6135 } | 6135 } |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6212 | 6212 |
| 6213 Handle<Value> HeapGraphEdge::GetName() const { | 6213 Handle<Value> HeapGraphEdge::GetName() const { |
| 6214 i::Isolate* isolate = i::Isolate::Current(); | 6214 i::Isolate* isolate = i::Isolate::Current(); |
| 6215 IsDeadCheck(isolate, "v8::HeapGraphEdge::GetName"); | 6215 IsDeadCheck(isolate, "v8::HeapGraphEdge::GetName"); |
| 6216 i::HeapGraphEdge* edge = ToInternal(this); | 6216 i::HeapGraphEdge* edge = ToInternal(this); |
| 6217 switch (edge->type()) { | 6217 switch (edge->type()) { |
| 6218 case i::HeapGraphEdge::kContextVariable: | 6218 case i::HeapGraphEdge::kContextVariable: |
| 6219 case i::HeapGraphEdge::kInternal: | 6219 case i::HeapGraphEdge::kInternal: |
| 6220 case i::HeapGraphEdge::kProperty: | 6220 case i::HeapGraphEdge::kProperty: |
| 6221 case i::HeapGraphEdge::kShortcut: | 6221 case i::HeapGraphEdge::kShortcut: |
| 6222 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol( | 6222 return Handle<String>(ToApi<String>(isolate->factory()->LookupUtf8Symbol( |
| 6223 edge->name()))); | 6223 edge->name()))); |
| 6224 case i::HeapGraphEdge::kElement: | 6224 case i::HeapGraphEdge::kElement: |
| 6225 case i::HeapGraphEdge::kHidden: | 6225 case i::HeapGraphEdge::kHidden: |
| 6226 return Handle<Number>(ToApi<Number>(isolate->factory()->NewNumberFromInt( | 6226 return Handle<Number>(ToApi<Number>(isolate->factory()->NewNumberFromInt( |
| 6227 edge->index()))); | 6227 edge->index()))); |
| 6228 default: UNREACHABLE(); | 6228 default: UNREACHABLE(); |
| 6229 } | 6229 } |
| 6230 return v8::Undefined(); | 6230 return v8::Undefined(); |
| 6231 } | 6231 } |
| 6232 | 6232 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 6256 HeapGraphNode::Type HeapGraphNode::GetType() const { | 6256 HeapGraphNode::Type HeapGraphNode::GetType() const { |
| 6257 i::Isolate* isolate = i::Isolate::Current(); | 6257 i::Isolate* isolate = i::Isolate::Current(); |
| 6258 IsDeadCheck(isolate, "v8::HeapGraphNode::GetType"); | 6258 IsDeadCheck(isolate, "v8::HeapGraphNode::GetType"); |
| 6259 return static_cast<HeapGraphNode::Type>(ToInternal(this)->type()); | 6259 return static_cast<HeapGraphNode::Type>(ToInternal(this)->type()); |
| 6260 } | 6260 } |
| 6261 | 6261 |
| 6262 | 6262 |
| 6263 Handle<String> HeapGraphNode::GetName() const { | 6263 Handle<String> HeapGraphNode::GetName() const { |
| 6264 i::Isolate* isolate = i::Isolate::Current(); | 6264 i::Isolate* isolate = i::Isolate::Current(); |
| 6265 IsDeadCheck(isolate, "v8::HeapGraphNode::GetName"); | 6265 IsDeadCheck(isolate, "v8::HeapGraphNode::GetName"); |
| 6266 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol( | 6266 return Handle<String>(ToApi<String>(isolate->factory()->LookupUtf8Symbol( |
| 6267 ToInternal(this)->name()))); | 6267 ToInternal(this)->name()))); |
| 6268 } | 6268 } |
| 6269 | 6269 |
| 6270 | 6270 |
| 6271 SnapshotObjectId HeapGraphNode::GetId() const { | 6271 SnapshotObjectId HeapGraphNode::GetId() const { |
| 6272 i::Isolate* isolate = i::Isolate::Current(); | 6272 i::Isolate* isolate = i::Isolate::Current(); |
| 6273 IsDeadCheck(isolate, "v8::HeapGraphNode::GetId"); | 6273 IsDeadCheck(isolate, "v8::HeapGraphNode::GetId"); |
| 6274 return ToInternal(this)->id(); | 6274 return ToInternal(this)->id(); |
| 6275 } | 6275 } |
| 6276 | 6276 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6335 unsigned HeapSnapshot::GetUid() const { | 6335 unsigned HeapSnapshot::GetUid() const { |
| 6336 i::Isolate* isolate = i::Isolate::Current(); | 6336 i::Isolate* isolate = i::Isolate::Current(); |
| 6337 IsDeadCheck(isolate, "v8::HeapSnapshot::GetUid"); | 6337 IsDeadCheck(isolate, "v8::HeapSnapshot::GetUid"); |
| 6338 return ToInternal(this)->uid(); | 6338 return ToInternal(this)->uid(); |
| 6339 } | 6339 } |
| 6340 | 6340 |
| 6341 | 6341 |
| 6342 Handle<String> HeapSnapshot::GetTitle() const { | 6342 Handle<String> HeapSnapshot::GetTitle() const { |
| 6343 i::Isolate* isolate = i::Isolate::Current(); | 6343 i::Isolate* isolate = i::Isolate::Current(); |
| 6344 IsDeadCheck(isolate, "v8::HeapSnapshot::GetTitle"); | 6344 IsDeadCheck(isolate, "v8::HeapSnapshot::GetTitle"); |
| 6345 return Handle<String>(ToApi<String>(isolate->factory()->LookupAsciiSymbol( | 6345 return Handle<String>(ToApi<String>(isolate->factory()->LookupUtf8Symbol( |
| 6346 ToInternal(this)->title()))); | 6346 ToInternal(this)->title()))); |
| 6347 } | 6347 } |
| 6348 | 6348 |
| 6349 | 6349 |
| 6350 const HeapGraphNode* HeapSnapshot::GetRoot() const { | 6350 const HeapGraphNode* HeapSnapshot::GetRoot() const { |
| 6351 i::Isolate* isolate = i::Isolate::Current(); | 6351 i::Isolate* isolate = i::Isolate::Current(); |
| 6352 IsDeadCheck(isolate, "v8::HeapSnapshot::GetHead"); | 6352 IsDeadCheck(isolate, "v8::HeapSnapshot::GetHead"); |
| 6353 return reinterpret_cast<const HeapGraphNode*>(ToInternal(this)->root()); | 6353 return reinterpret_cast<const HeapGraphNode*>(ToInternal(this)->root()); |
| 6354 } | 6354 } |
| 6355 | 6355 |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6704 | 6704 |
| 6705 v->VisitPointers(blocks_.first(), first_block_limit_); | 6705 v->VisitPointers(blocks_.first(), first_block_limit_); |
| 6706 | 6706 |
| 6707 for (int i = 1; i < blocks_.length(); i++) { | 6707 for (int i = 1; i < blocks_.length(); i++) { |
| 6708 v->VisitPointers(blocks_[i], &blocks_[i][kHandleBlockSize]); | 6708 v->VisitPointers(blocks_[i], &blocks_[i][kHandleBlockSize]); |
| 6709 } | 6709 } |
| 6710 } | 6710 } |
| 6711 | 6711 |
| 6712 | 6712 |
| 6713 } } // namespace v8::internal | 6713 } } // namespace v8::internal |
| OLD | NEW |