Deprecate HeapSnapshot type
Re-landing r14005 that was reverted in r14031 TBR=danno BUG=None Review URL: https://codereview.chromium.org/13430003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
047f6f97d9
commit
04cb86899c
@ -321,8 +321,8 @@ class V8EXPORT HeapSnapshot {
|
||||
kJSON = 0 // See format description near 'Serialize' method.
|
||||
};
|
||||
|
||||
/** Returns heap snapshot type. */
|
||||
Type GetType() const;
|
||||
/** Deprecated. Returns kFull. */
|
||||
V8_DEPRECATED(Type GetType() const);
|
||||
|
||||
/** Returns heap snapshot UID (assigned by the profiler.) */
|
||||
unsigned GetUid() const;
|
||||
@ -451,7 +451,6 @@ class V8EXPORT HeapProfiler {
|
||||
ObjectNameResolver* global_object_name_resolver = NULL);
|
||||
/**
|
||||
* Takes a heap snapshot and returns it. Title may be an empty string.
|
||||
* See HeapSnapshot::Type for types description.
|
||||
*/
|
||||
const HeapSnapshot* TakeHeapSnapshot(
|
||||
Handle<String> title,
|
||||
|
15
src/api.cc
15
src/api.cc
@ -6727,7 +6727,7 @@ void HeapSnapshot::Delete() {
|
||||
HeapSnapshot::Type HeapSnapshot::GetType() const {
|
||||
i::Isolate* isolate = i::Isolate::Current();
|
||||
IsDeadCheck(isolate, "v8::HeapSnapshot::GetType");
|
||||
return static_cast<HeapSnapshot::Type>(ToInternal(this)->type());
|
||||
return kFull;
|
||||
}
|
||||
|
||||
|
||||
@ -6861,17 +6861,9 @@ const HeapSnapshot* HeapProfiler::TakeSnapshot(Handle<String> title,
|
||||
ObjectNameResolver* resolver) {
|
||||
i::Isolate* isolate = i::Isolate::Current();
|
||||
IsDeadCheck(isolate, "v8::HeapProfiler::TakeSnapshot");
|
||||
i::HeapSnapshot::Type internal_type = i::HeapSnapshot::kFull;
|
||||
switch (type) {
|
||||
case HeapSnapshot::kFull:
|
||||
internal_type = i::HeapSnapshot::kFull;
|
||||
break;
|
||||
default:
|
||||
UNREACHABLE();
|
||||
}
|
||||
return reinterpret_cast<const HeapSnapshot*>(
|
||||
isolate->heap_profiler()->TakeSnapshot(
|
||||
*Utils::OpenHandle(*title), internal_type, control, resolver));
|
||||
*Utils::OpenHandle(*title), control, resolver));
|
||||
}
|
||||
|
||||
|
||||
@ -6881,8 +6873,7 @@ const HeapSnapshot* HeapProfiler::TakeHeapSnapshot(
|
||||
ObjectNameResolver* resolver) {
|
||||
return reinterpret_cast<const HeapSnapshot*>(
|
||||
reinterpret_cast<i::HeapProfiler*>(this)->TakeSnapshot(
|
||||
*Utils::OpenHandle(*title), i::HeapSnapshot::kFull,
|
||||
control, resolver));
|
||||
*Utils::OpenHandle(*title), control, resolver));
|
||||
}
|
||||
|
||||
|
||||
|
@ -72,25 +72,15 @@ v8::RetainedObjectInfo* HeapProfiler::ExecuteWrapperClassCallback(
|
||||
|
||||
HeapSnapshot* HeapProfiler::TakeSnapshot(
|
||||
const char* name,
|
||||
int type,
|
||||
v8::ActivityControl* control,
|
||||
v8::HeapProfiler::ObjectNameResolver* resolver) {
|
||||
HeapSnapshot::Type s_type = static_cast<HeapSnapshot::Type>(type);
|
||||
HeapSnapshot* result =
|
||||
snapshots_->NewSnapshot(s_type, name, next_snapshot_uid_++);
|
||||
bool generation_completed = true;
|
||||
switch (s_type) {
|
||||
case HeapSnapshot::kFull: {
|
||||
HeapSnapshotGenerator generator(result, control, resolver, heap());
|
||||
generation_completed = generator.GenerateSnapshot();
|
||||
break;
|
||||
HeapSnapshot* result = snapshots_->NewSnapshot(name, next_snapshot_uid_++);
|
||||
{
|
||||
HeapSnapshotGenerator generator(result, control, resolver, heap());
|
||||
if (!generator.GenerateSnapshot()) {
|
||||
delete result;
|
||||
result = NULL;
|
||||
}
|
||||
default:
|
||||
UNREACHABLE();
|
||||
}
|
||||
if (!generation_completed) {
|
||||
delete result;
|
||||
result = NULL;
|
||||
}
|
||||
snapshots_->SnapshotGenerationFinished(result);
|
||||
return result;
|
||||
@ -99,11 +89,9 @@ HeapSnapshot* HeapProfiler::TakeSnapshot(
|
||||
|
||||
HeapSnapshot* HeapProfiler::TakeSnapshot(
|
||||
String* name,
|
||||
int type,
|
||||
v8::ActivityControl* control,
|
||||
v8::HeapProfiler::ObjectNameResolver* resolver) {
|
||||
return TakeSnapshot(snapshots_->names()->GetName(name), type, control,
|
||||
resolver);
|
||||
return TakeSnapshot(snapshots_->names()->GetName(name), control, resolver);
|
||||
}
|
||||
|
||||
void HeapProfiler::StartHeapObjectsTracking() {
|
||||
|
@ -53,12 +53,10 @@ class HeapProfiler {
|
||||
|
||||
HeapSnapshot* TakeSnapshot(
|
||||
const char* name,
|
||||
int type,
|
||||
v8::ActivityControl* control,
|
||||
v8::HeapProfiler::ObjectNameResolver* resolver);
|
||||
HeapSnapshot* TakeSnapshot(
|
||||
String* name,
|
||||
int type,
|
||||
v8::ActivityControl* control,
|
||||
v8::HeapProfiler::ObjectNameResolver* resolver);
|
||||
|
||||
|
@ -189,7 +189,7 @@ template <> struct SnapshotSizeConstants<4> {
|
||||
static const int kExpectedHeapGraphEdgeSize = 12;
|
||||
static const int kExpectedHeapEntrySize = 24;
|
||||
static const int kExpectedHeapSnapshotsCollectionSize = 100;
|
||||
static const int kExpectedHeapSnapshotSize = 136;
|
||||
static const int kExpectedHeapSnapshotSize = 132;
|
||||
static const size_t kMaxSerializableSnapshotRawSize = 256 * MB;
|
||||
};
|
||||
|
||||
@ -197,7 +197,7 @@ template <> struct SnapshotSizeConstants<8> {
|
||||
static const int kExpectedHeapGraphEdgeSize = 24;
|
||||
static const int kExpectedHeapEntrySize = 32;
|
||||
static const int kExpectedHeapSnapshotsCollectionSize = 152;
|
||||
static const int kExpectedHeapSnapshotSize = 168;
|
||||
static const int kExpectedHeapSnapshotSize = 160;
|
||||
static const uint64_t kMaxSerializableSnapshotRawSize =
|
||||
static_cast<uint64_t>(6000) * MB;
|
||||
};
|
||||
@ -205,11 +205,9 @@ template <> struct SnapshotSizeConstants<8> {
|
||||
} // namespace
|
||||
|
||||
HeapSnapshot::HeapSnapshot(HeapSnapshotsCollection* collection,
|
||||
HeapSnapshot::Type type,
|
||||
const char* title,
|
||||
unsigned uid)
|
||||
: collection_(collection),
|
||||
type_(type),
|
||||
title_(title),
|
||||
uid_(uid),
|
||||
root_index_(HeapEntry::kNoEntry),
|
||||
@ -599,11 +597,10 @@ HeapSnapshotsCollection::~HeapSnapshotsCollection() {
|
||||
}
|
||||
|
||||
|
||||
HeapSnapshot* HeapSnapshotsCollection::NewSnapshot(HeapSnapshot::Type type,
|
||||
const char* name,
|
||||
HeapSnapshot* HeapSnapshotsCollection::NewSnapshot(const char* name,
|
||||
unsigned uid) {
|
||||
is_tracking_objects_ = true; // Start watching for heap objects moves.
|
||||
return new HeapSnapshot(this, type, name, uid);
|
||||
return new HeapSnapshot(this, name, uid);
|
||||
}
|
||||
|
||||
|
||||
@ -2410,7 +2407,6 @@ void HeapSnapshotJSONSerializer::Serialize(v8::OutputStream* stream) {
|
||||
|
||||
HeapSnapshot* HeapSnapshotJSONSerializer::CreateFakeSnapshot() {
|
||||
HeapSnapshot* result = new HeapSnapshot(snapshot_->collection(),
|
||||
HeapSnapshot::kFull,
|
||||
snapshot_->title(),
|
||||
snapshot_->uid());
|
||||
result->AddRootEntry();
|
||||
|
@ -157,18 +157,12 @@ class HeapSnapshotsCollection;
|
||||
// HeapSnapshotGenerator fills in a HeapSnapshot.
|
||||
class HeapSnapshot {
|
||||
public:
|
||||
enum Type {
|
||||
kFull = v8::HeapSnapshot::kFull
|
||||
};
|
||||
|
||||
HeapSnapshot(HeapSnapshotsCollection* collection,
|
||||
Type type,
|
||||
const char* title,
|
||||
unsigned uid);
|
||||
void Delete();
|
||||
|
||||
HeapSnapshotsCollection* collection() { return collection_; }
|
||||
Type type() { return type_; }
|
||||
const char* title() { return title_; }
|
||||
unsigned uid() { return uid_; }
|
||||
size_t RawSnapshotSize() const;
|
||||
@ -203,7 +197,6 @@ class HeapSnapshot {
|
||||
|
||||
private:
|
||||
HeapSnapshotsCollection* collection_;
|
||||
Type type_;
|
||||
const char* title_;
|
||||
unsigned uid_;
|
||||
int root_index_;
|
||||
@ -305,8 +298,7 @@ class HeapSnapshotsCollection {
|
||||
void StartHeapObjectsTracking() { is_tracking_objects_ = true; }
|
||||
void StopHeapObjectsTracking() { ids_.StopHeapObjectsTracking(); }
|
||||
|
||||
HeapSnapshot* NewSnapshot(
|
||||
HeapSnapshot::Type type, const char* name, unsigned uid);
|
||||
HeapSnapshot* NewSnapshot(const char* name, unsigned uid);
|
||||
void SnapshotGenerationFinished(HeapSnapshot* snapshot);
|
||||
List<HeapSnapshot*>* snapshots() { return &snapshots_; }
|
||||
HeapSnapshot* GetSnapshot(unsigned uid);
|
||||
|
Loading…
Reference in New Issue
Block a user