Index: src/profile-generator.cc |
=================================================================== |
--- src/profile-generator.cc (revision 7267) |
+++ src/profile-generator.cc (working copy) |
@@ -31,7 +31,6 @@ |
#include "global-handles.h" |
#include "heap-profiler.h" |
#include "scopeinfo.h" |
-#include "top.h" |
#include "unicode.h" |
#include "zone-inl.h" |
@@ -48,24 +47,27 @@ |
TokenEnumerator::~TokenEnumerator() { |
+ Isolate* isolate = Isolate::Current(); |
for (int i = 0; i < token_locations_.length(); ++i) { |
if (!token_removed_[i]) { |
- GlobalHandles::ClearWeakness(token_locations_[i]); |
- GlobalHandles::Destroy(token_locations_[i]); |
+ isolate->global_handles()->ClearWeakness(token_locations_[i]); |
+ isolate->global_handles()->Destroy(token_locations_[i]); |
} |
} |
} |
int TokenEnumerator::GetTokenId(Object* token) { |
+ Isolate* isolate = Isolate::Current(); |
if (token == NULL) return TokenEnumerator::kNoSecurityToken; |
for (int i = 0; i < token_locations_.length(); ++i) { |
if (*token_locations_[i] == token && !token_removed_[i]) return i; |
} |
- Handle<Object> handle = GlobalHandles::Create(token); |
+ Handle<Object> handle = isolate->global_handles()->Create(token); |
// handle.location() points to a memory cell holding a pointer |
// to a token object in the V8's heap. |
- GlobalHandles::MakeWeak(handle.location(), this, TokenRemovedCallback); |
+ isolate->global_handles()->MakeWeak(handle.location(), this, |
+ TokenRemovedCallback); |
token_locations_.Add(handle.location()); |
token_removed_.Add(false); |
return token_locations_.length() - 1; |
@@ -162,7 +164,7 @@ |
} |
-const char* CodeEntry::kEmptyNamePrefix = ""; |
+const char* const CodeEntry::kEmptyNamePrefix = ""; |
void CodeEntry::CopyData(const CodeEntry& source) { |
@@ -783,10 +785,12 @@ |
} |
-const char* ProfileGenerator::kAnonymousFunctionName = "(anonymous function)"; |
-const char* ProfileGenerator::kProgramEntryName = "(program)"; |
-const char* ProfileGenerator::kGarbageCollectorEntryName = |
- "(garbage collector)"; |
+const char* const ProfileGenerator::kAnonymousFunctionName = |
+ "(anonymous function)"; |
+const char* const ProfileGenerator::kProgramEntryName = |
+ "(program)"; |
+const char* const ProfileGenerator::kGarbageCollectorEntryName = |
+ "(garbage collector)"; |
ProfileGenerator::ProfileGenerator(CpuProfilesCollection* profiles) |
@@ -1882,8 +1886,8 @@ |
ExtractPropertyReferences(js_obj, entry); |
ExtractElementReferences(js_obj, entry); |
ExtractInternalReferences(js_obj, entry); |
- SetPropertyReference(obj, entry, |
- Heap::Proto_symbol(), js_obj->GetPrototype()); |
+ SetPropertyReference( |
+ obj, entry, HEAP->Proto_symbol(), js_obj->GetPrototype()); |
if (obj->IsJSFunction()) { |
JSFunction* js_fun = JSFunction::cast(js_obj); |
SetInternalReference( |
@@ -1895,12 +1899,12 @@ |
if (!proto_or_map->IsMap()) { |
SetPropertyReference( |
obj, entry, |
- Heap::prototype_symbol(), proto_or_map, |
+ HEAP->prototype_symbol(), proto_or_map, |
JSFunction::kPrototypeOrInitialMapOffset); |
} else { |
SetPropertyReference( |
obj, entry, |
- Heap::prototype_symbol(), js_fun->prototype()); |
+ HEAP->prototype_symbol(), js_fun->prototype()); |
} |
} |
} |
@@ -2069,7 +2073,7 @@ |
} |
SetRootGcRootsReference(); |
RootsReferencesExtractor extractor(this); |
- Heap::IterateRoots(&extractor, VISIT_ALL); |
+ HEAP->IterateRoots(&extractor, VISIT_ALL); |
filler_ = NULL; |
return progress_->ProgressReport(false); |
} |
@@ -2308,9 +2312,10 @@ |
void NativeObjectsExplorer::FillRetainedObjects() { |
if (embedder_queried_) return; |
+ Isolate* isolate = Isolate::Current(); |
// Record objects that are joined into ObjectGroups. |
- Heap::CallGlobalGCPrologueCallback(); |
- List<ObjectGroup*>* groups = GlobalHandles::ObjectGroups(); |
+ isolate->heap()->CallGlobalGCPrologueCallback(); |
+ List<ObjectGroup*>* groups = isolate->global_handles()->object_groups(); |
for (int i = 0; i < groups->length(); ++i) { |
ObjectGroup* group = groups->at(i); |
if (group->info_ == NULL) continue; |
@@ -2322,11 +2327,11 @@ |
} |
group->info_ = NULL; // Acquire info object ownership. |
} |
- GlobalHandles::RemoveObjectGroups(); |
- Heap::CallGlobalGCEpilogueCallback(); |
+ isolate->global_handles()->RemoveObjectGroups(); |
+ isolate->heap()->CallGlobalGCEpilogueCallback(); |
// Record objects that are not in ObjectGroups, but have class ID. |
GlobalHandlesExtractor extractor(this); |
- GlobalHandles::IterateAllRootsWithClassIds(&extractor); |
+ isolate->global_handles()->IterateAllRootsWithClassIds(&extractor); |
embedder_queried_ = true; |
} |
@@ -2404,8 +2409,9 @@ |
void NativeObjectsExplorer::VisitSubtreeWrapper(Object** p, uint16_t class_id) { |
if (in_groups_.Contains(*p)) return; |
+ Isolate* isolate = Isolate::Current(); |
v8::RetainedObjectInfo* info = |
- HeapProfiler::ExecuteWrapperClassCallback(class_id, p); |
+ isolate->heap_profiler()->ExecuteWrapperClassCallback(class_id, p); |
if (info == NULL) return; |
GetListMaybeDisposeInfo(info)->Add(HeapObject::cast(*p)); |
} |
@@ -3182,7 +3188,7 @@ |
String* GetConstructorNameForHeapProfile(JSObject* object) { |
- if (object->IsJSFunction()) return Heap::closure_symbol(); |
+ if (object->IsJSFunction()) return HEAP->closure_symbol(); |
return object->constructor_name(); |
} |