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

Side by Side Diff: src/heap-profiler.cc

Issue 7066004: Inline more zone stuff. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « src/compiler.cc ('k') | src/jsregexp.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009-2010 the V8 project authors. All rights reserved. 1 // Copyright 2009-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 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 void HeapProfiler::ObjectMoveEvent(Address from, Address to) { 467 void HeapProfiler::ObjectMoveEvent(Address from, Address to) {
468 snapshots_->ObjectMoveEvent(from, to); 468 snapshots_->ObjectMoveEvent(from, to);
469 } 469 }
470 470
471 471
472 const JSObjectsClusterTreeConfig::Key JSObjectsClusterTreeConfig::kNoKey; 472 const JSObjectsClusterTreeConfig::Key JSObjectsClusterTreeConfig::kNoKey;
473 const JSObjectsClusterTreeConfig::Value JSObjectsClusterTreeConfig::kNoValue; 473 const JSObjectsClusterTreeConfig::Value JSObjectsClusterTreeConfig::kNoValue;
474 474
475 475
476 ConstructorHeapProfile::ConstructorHeapProfile() 476 ConstructorHeapProfile::ConstructorHeapProfile()
477 : zscope_(DELETE_ON_EXIT) { 477 : zscope_(Isolate::Current(), DELETE_ON_EXIT) {
478 } 478 }
479 479
480 480
481 void ConstructorHeapProfile::Call(const JSObjectsCluster& cluster, 481 void ConstructorHeapProfile::Call(const JSObjectsCluster& cluster,
482 const NumberAndSizeInfo& number_and_size) { 482 const NumberAndSizeInfo& number_and_size) {
483 HeapStringAllocator allocator; 483 HeapStringAllocator allocator;
484 StringStream stream(&allocator); 484 StringStream stream(&allocator);
485 cluster.Print(&stream); 485 cluster.Print(&stream);
486 LOG(ISOLATE, 486 LOG(ISOLATE,
487 HeapSampleJSConstructorEvent(*(stream.ToCString()), 487 HeapSampleJSConstructorEvent(*(stream.ToCString()),
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 if (a.refs.length() > b.refs.length()) return 1; 577 if (a.refs.length() > b.refs.length()) return 1;
578 for (int i = 0; i < a.refs.length(); ++i) { 578 for (int i = 0; i < a.refs.length(); ++i) {
579 int cmp = JSObjectsCluster::Compare(a.refs[i], b.refs[i]); 579 int cmp = JSObjectsCluster::Compare(a.refs[i], b.refs[i]);
580 if (cmp != 0) return cmp; 580 if (cmp != 0) return cmp;
581 } 581 }
582 return 0; 582 return 0;
583 } 583 }
584 584
585 585
586 ClustersCoarser::ClustersCoarser() 586 ClustersCoarser::ClustersCoarser()
587 : zscope_(DELETE_ON_EXIT), 587 : zscope_(Isolate::Current(), DELETE_ON_EXIT),
588 sim_list_(ClustersCoarser::kInitialSimilarityListCapacity), 588 sim_list_(ClustersCoarser::kInitialSimilarityListCapacity),
589 current_pair_(NULL), 589 current_pair_(NULL),
590 current_set_(NULL), 590 current_set_(NULL),
591 self_(NULL) { 591 self_(NULL) {
592 } 592 }
593 593
594 594
595 void ClustersCoarser::Call(const JSObjectsCluster& cluster, 595 void ClustersCoarser::Call(const JSObjectsCluster& cluster,
596 JSObjectsClusterTree* tree) { 596 JSObjectsClusterTree* tree) {
597 if (!cluster.can_be_coarsed()) return; 597 if (!cluster.can_be_coarsed()) return;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 692
693 693
694 const JSObjectsCluster ClustersCoarser::ClusterEqualityConfig::kNoKey; 694 const JSObjectsCluster ClustersCoarser::ClusterEqualityConfig::kNoKey;
695 const JSObjectsCluster ClustersCoarser::ClusterEqualityConfig::kNoValue; 695 const JSObjectsCluster ClustersCoarser::ClusterEqualityConfig::kNoValue;
696 const JSObjectsRetainerTreeConfig::Key JSObjectsRetainerTreeConfig::kNoKey; 696 const JSObjectsRetainerTreeConfig::Key JSObjectsRetainerTreeConfig::kNoKey;
697 const JSObjectsRetainerTreeConfig::Value JSObjectsRetainerTreeConfig::kNoValue = 697 const JSObjectsRetainerTreeConfig::Value JSObjectsRetainerTreeConfig::kNoValue =
698 NULL; 698 NULL;
699 699
700 700
701 RetainerHeapProfile::RetainerHeapProfile() 701 RetainerHeapProfile::RetainerHeapProfile()
702 : zscope_(DELETE_ON_EXIT), 702 : zscope_(Isolate::Current(), DELETE_ON_EXIT),
703 aggregator_(NULL) { 703 aggregator_(NULL) {
704 JSObjectsCluster roots(JSObjectsCluster::ROOTS); 704 JSObjectsCluster roots(JSObjectsCluster::ROOTS);
705 ReferencesExtractor extractor(roots, this); 705 ReferencesExtractor extractor(roots, this);
706 HEAP->IterateRoots(&extractor, VISIT_ONLY_STRONG); 706 HEAP->IterateRoots(&extractor, VISIT_ONLY_STRONG);
707 } 707 }
708 708
709 709
710 RetainerHeapProfile::~RetainerHeapProfile() { 710 RetainerHeapProfile::~RetainerHeapProfile() {
711 delete aggregator_; 711 delete aggregator_;
712 } 712 }
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 explicit AggregatingRetainerTreeIterator(ClustersCoarser* coarser, 1020 explicit AggregatingRetainerTreeIterator(ClustersCoarser* coarser,
1021 HeapEntriesAllocator* allocator, 1021 HeapEntriesAllocator* allocator,
1022 HeapEntriesMap* map) 1022 HeapEntriesMap* map)
1023 : coarser_(coarser), allocator_(allocator), map_(map) { 1023 : coarser_(coarser), allocator_(allocator), map_(map) {
1024 } 1024 }
1025 1025
1026 void Call(const JSObjectsCluster& cluster, JSObjectsClusterTree* tree) { 1026 void Call(const JSObjectsCluster& cluster, JSObjectsClusterTree* tree) {
1027 if (coarser_ != NULL && 1027 if (coarser_ != NULL &&
1028 !coarser_->GetCoarseEquivalent(cluster).is_null()) return; 1028 !coarser_->GetCoarseEquivalent(cluster).is_null()) return;
1029 JSObjectsClusterTree* tree_to_iterate = tree; 1029 JSObjectsClusterTree* tree_to_iterate = tree;
1030 ZoneScope zs(DELETE_ON_EXIT); 1030 ZoneScope zs(Isolate::Current(), DELETE_ON_EXIT);
1031 JSObjectsClusterTree dest_tree_; 1031 JSObjectsClusterTree dest_tree_;
1032 if (coarser_ != NULL) { 1032 if (coarser_ != NULL) {
1033 RetainersAggregator retainers_aggregator(coarser_, &dest_tree_); 1033 RetainersAggregator retainers_aggregator(coarser_, &dest_tree_);
1034 tree->ForEach(&retainers_aggregator); 1034 tree->ForEach(&retainers_aggregator);
1035 tree_to_iterate = &dest_tree_; 1035 tree_to_iterate = &dest_tree_;
1036 } 1036 }
1037 RetainersIterator iterator(cluster, allocator_, map_); 1037 RetainersIterator iterator(cluster, allocator_, map_);
1038 tree_to_iterate->ForEach(&iterator); 1038 tree_to_iterate->ForEach(&iterator);
1039 } 1039 }
1040 1040
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1164 isolate_->global_handles()->MakeWeak(handle.location(), 1164 isolate_->global_handles()->MakeWeak(handle.location(),
1165 static_cast<void*>(stack.start()), 1165 static_cast<void*>(stack.start()),
1166 StackWeakReferenceCallback); 1166 StackWeakReferenceCallback);
1167 } 1167 }
1168 1168
1169 1169
1170 #endif // ENABLE_LOGGING_AND_PROFILING 1170 #endif // ENABLE_LOGGING_AND_PROFILING
1171 1171
1172 1172
1173 } } // namespace v8::internal 1173 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/compiler.cc ('k') | src/jsregexp.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698