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

Unified Diff: runtime/vm/profiler_test.cc

Issue 109803002: Profiler Take 2 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/profiler_macos.cc ('k') | runtime/vm/profiler_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/profiler_test.cc
diff --git a/runtime/vm/profiler_test.cc b/runtime/vm/profiler_test.cc
index a974b8519045bb6385b81244435d817dc9317ed8..610fa419be40059a39538bc83b0eb5df68feb305 100644
--- a/runtime/vm/profiler_test.cc
+++ b/runtime/vm/profiler_test.cc
@@ -14,23 +14,29 @@ namespace dart {
class ProfileSampleBufferTestHelper {
public:
- static intptr_t IterateCount(const SampleBuffer& sample_buffer) {
+ static intptr_t IterateCount(const Isolate* isolate,
+ const SampleBuffer& sample_buffer) {
intptr_t c = 0;
- for (Sample* i = sample_buffer.FirstSample();
- i != sample_buffer.LastSample();
- i = sample_buffer.NextSample(i)) {
+ for (intptr_t i = 0; i < sample_buffer.capacity(); i++) {
+ Sample* sample = sample_buffer.GetSample(i);
+ if (sample->isolate != isolate) {
+ continue;
+ }
c++;
}
return c;
}
- static intptr_t IterateSumPC(const SampleBuffer& sample_buffer) {
+ static intptr_t IterateSumPC(const Isolate* isolate,
+ const SampleBuffer& sample_buffer) {
intptr_t c = 0;
- for (Sample* i = sample_buffer.FirstSample();
- i != sample_buffer.LastSample();
- i = sample_buffer.NextSample(i)) {
- c += i->pcs[0];
+ for (intptr_t i = 0; i < sample_buffer.capacity(); i++) {
+ Sample* sample = sample_buffer.GetSample(i);
+ if (sample->isolate != isolate) {
+ continue;
+ }
+ c += sample->pcs[0];
}
return c;
}
@@ -39,35 +45,46 @@ class ProfileSampleBufferTestHelper {
TEST_CASE(ProfilerSampleBufferWrapTest) {
SampleBuffer* sample_buffer = new SampleBuffer(3);
- EXPECT_EQ(0, ProfileSampleBufferTestHelper::IterateSumPC(*sample_buffer));
+ Isolate* i = reinterpret_cast<Isolate*>(0x1);
+ EXPECT_EQ(0, ProfileSampleBufferTestHelper::IterateSumPC(i, *sample_buffer));
Sample* s;
s = sample_buffer->ReserveSample();
+ s->isolate = i;
s->pcs[0] = 2;
- EXPECT_EQ(2, ProfileSampleBufferTestHelper::IterateSumPC(*sample_buffer));
+ EXPECT_EQ(2, ProfileSampleBufferTestHelper::IterateSumPC(i, *sample_buffer));
s = sample_buffer->ReserveSample();
+ s->isolate = i;
s->pcs[0] = 4;
- EXPECT_EQ(6, ProfileSampleBufferTestHelper::IterateSumPC(*sample_buffer));
+ EXPECT_EQ(6, ProfileSampleBufferTestHelper::IterateSumPC(i, *sample_buffer));
s = sample_buffer->ReserveSample();
+ s->isolate = i;
s->pcs[0] = 6;
- EXPECT_EQ(10, ProfileSampleBufferTestHelper::IterateSumPC(*sample_buffer));
+ EXPECT_EQ(12, ProfileSampleBufferTestHelper::IterateSumPC(i, *sample_buffer));
s = sample_buffer->ReserveSample();
+ s->isolate = i;
s->pcs[0] = 8;
- EXPECT_EQ(14, ProfileSampleBufferTestHelper::IterateSumPC(*sample_buffer));
+ EXPECT_EQ(18, ProfileSampleBufferTestHelper::IterateSumPC(i, *sample_buffer));
delete sample_buffer;
}
TEST_CASE(ProfilerSampleBufferIterateTest) {
SampleBuffer* sample_buffer = new SampleBuffer(3);
- EXPECT_EQ(0, ProfileSampleBufferTestHelper::IterateCount(*sample_buffer));
- sample_buffer->ReserveSample();
- EXPECT_EQ(1, ProfileSampleBufferTestHelper::IterateCount(*sample_buffer));
- sample_buffer->ReserveSample();
- EXPECT_EQ(2, ProfileSampleBufferTestHelper::IterateCount(*sample_buffer));
- sample_buffer->ReserveSample();
- EXPECT_EQ(2, ProfileSampleBufferTestHelper::IterateCount(*sample_buffer));
- sample_buffer->ReserveSample();
- EXPECT_EQ(2, ProfileSampleBufferTestHelper::IterateCount(*sample_buffer));
+ Isolate* i = reinterpret_cast<Isolate*>(0x1);
+ EXPECT_EQ(0, ProfileSampleBufferTestHelper::IterateCount(i, *sample_buffer));
+ Sample* s;
+ s = sample_buffer->ReserveSample();
+ s->isolate = i;
+ EXPECT_EQ(1, ProfileSampleBufferTestHelper::IterateCount(i, *sample_buffer));
+ s = sample_buffer->ReserveSample();
+ s->isolate = i;
+ EXPECT_EQ(2, ProfileSampleBufferTestHelper::IterateCount(i, *sample_buffer));
+ s = sample_buffer->ReserveSample();
+ s->isolate = i;
+ EXPECT_EQ(3, ProfileSampleBufferTestHelper::IterateCount(i, *sample_buffer));
+ s = sample_buffer->ReserveSample();
+ s->isolate = i;
+ EXPECT_EQ(3, ProfileSampleBufferTestHelper::IterateCount(i, *sample_buffer));
delete sample_buffer;
}
« no previous file with comments | « runtime/vm/profiler_macos.cc ('k') | runtime/vm/profiler_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698