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

Side by Side Diff: test/cctest/test-cpu-profiler.cc

Issue 1582004: C++ profiles processor: wire up to VM. (Closed)
Patch Set: Created 10 years, 8 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // 2 //
3 // Tests of profiles generator and utilities. 3 // Tests of profiles generator and utilities.
4 4
5 #ifdef ENABLE_CPP_PROFILES_PROCESSOR 5 #ifdef ENABLE_CPP_PROFILES_PROCESSOR
6 6
7 #include "v8.h" 7 #include "v8.h"
8 #include "cpu-profiler-inl.h" 8 #include "cpu-profiler-inl.h"
9 #include "cctest.h" 9 #include "cctest.h"
10 10
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 103
104 // Check the state of profile generator. 104 // Check the state of profile generator.
105 CodeEntry* entry1 = generator.code_map()->FindEntry(ToAddress(0x1000)); 105 CodeEntry* entry1 = generator.code_map()->FindEntry(ToAddress(0x1000));
106 CHECK_NE(NULL, entry1); 106 CHECK_NE(NULL, entry1);
107 CHECK_EQ(aaa_str, entry1->name()); 107 CHECK_EQ(aaa_str, entry1->name());
108 CodeEntry* entry2 = generator.code_map()->FindEntry(ToAddress(0x1200)); 108 CodeEntry* entry2 = generator.code_map()->FindEntry(ToAddress(0x1200));
109 CHECK_NE(NULL, entry2); 109 CHECK_NE(NULL, entry2);
110 CHECK_EQ("bbb", entry2->name()); 110 CHECK_EQ("bbb", entry2->name());
111 CodeEntry* entry3 = generator.code_map()->FindEntry(ToAddress(0x1300)); 111 CodeEntry* entry3 = generator.code_map()->FindEntry(ToAddress(0x1300));
112 CHECK_NE(NULL, entry3); 112 CHECK_NE(NULL, entry3);
113 CHECK_EQ("args_count: 5", entry3->name()); 113 CHECK_EQ("5", entry3->name());
114 CHECK_EQ(NULL, generator.code_map()->FindEntry(ToAddress(0x1400))); 114 CHECK_EQ(NULL, generator.code_map()->FindEntry(ToAddress(0x1400)));
115 CodeEntry* entry4 = generator.code_map()->FindEntry(ToAddress(0x1500)); 115 CodeEntry* entry4 = generator.code_map()->FindEntry(ToAddress(0x1500));
116 CHECK_NE(NULL, entry4); 116 CHECK_NE(NULL, entry4);
117 CHECK_EQ("ddd", entry4->name()); 117 CHECK_EQ("ddd", entry4->name());
118 CHECK_EQ(NULL, generator.code_map()->FindEntry(ToAddress(0x1600))); 118 CHECK_EQ(NULL, generator.code_map()->FindEntry(ToAddress(0x1600)));
119 CodeEntry* entry5 = generator.code_map()->FindEntry(ToAddress(0x1700)); 119 CodeEntry* entry5 = generator.code_map()->FindEntry(ToAddress(0x1700));
120 CHECK_NE(NULL, entry5); 120 CHECK_NE(NULL, entry5);
121 CHECK_EQ(aaa_str, entry5->name()); 121 CHECK_EQ(aaa_str, entry5->name());
122 } 122 }
123 123
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 CHECK_NE(NULL, profile); 159 CHECK_NE(NULL, profile);
160 160
161 // Check call trees. 161 // Check call trees.
162 const i::List<ProfileNode*>* top_down_root_children = 162 const i::List<ProfileNode*>* top_down_root_children =
163 profile->top_down()->root()->children(); 163 profile->top_down()->root()->children();
164 CHECK_EQ(1, top_down_root_children->length()); 164 CHECK_EQ(1, top_down_root_children->length());
165 CHECK_EQ("bbb", top_down_root_children->last()->entry()->name()); 165 CHECK_EQ("bbb", top_down_root_children->last()->entry()->name());
166 const i::List<ProfileNode*>* top_down_bbb_children = 166 const i::List<ProfileNode*>* top_down_bbb_children =
167 top_down_root_children->last()->children(); 167 top_down_root_children->last()->children();
168 CHECK_EQ(1, top_down_bbb_children->length()); 168 CHECK_EQ(1, top_down_bbb_children->length());
169 CHECK_EQ("args_count: 5", top_down_bbb_children->last()->entry()->name()); 169 CHECK_EQ("5", top_down_bbb_children->last()->entry()->name());
170 const i::List<ProfileNode*>* top_down_stub_children = 170 const i::List<ProfileNode*>* top_down_stub_children =
171 top_down_bbb_children->last()->children(); 171 top_down_bbb_children->last()->children();
172 CHECK_EQ(1, top_down_stub_children->length()); 172 CHECK_EQ(1, top_down_stub_children->length());
173 CHECK_EQ("ddd", top_down_stub_children->last()->entry()->name()); 173 CHECK_EQ("ddd", top_down_stub_children->last()->entry()->name());
174 const i::List<ProfileNode*>* top_down_ddd_children = 174 const i::List<ProfileNode*>* top_down_ddd_children =
175 top_down_stub_children->last()->children(); 175 top_down_stub_children->last()->children();
176 CHECK_EQ(0, top_down_ddd_children->length()); 176 CHECK_EQ(0, top_down_ddd_children->length());
177 177
178 const i::List<ProfileNode*>* bottom_up_root_children_unsorted = 178 const i::List<ProfileNode*>* bottom_up_root_children_unsorted =
179 profile->bottom_up()->root()->children(); 179 profile->bottom_up()->root()->children();
180 CHECK_EQ(3, bottom_up_root_children_unsorted->length()); 180 CHECK_EQ(3, bottom_up_root_children_unsorted->length());
181 i::List<ProfileNode*> bottom_up_root_children(3); 181 i::List<ProfileNode*> bottom_up_root_children(3);
182 bottom_up_root_children.AddAll(*bottom_up_root_children_unsorted); 182 bottom_up_root_children.AddAll(*bottom_up_root_children_unsorted);
183 bottom_up_root_children.Sort(&CompareProfileNodes); 183 bottom_up_root_children.Sort(&CompareProfileNodes);
184 CHECK_EQ("args_count: 5", bottom_up_root_children[0]->entry()->name()); 184 CHECK_EQ("5", bottom_up_root_children[0]->entry()->name());
185 CHECK_EQ("bbb", bottom_up_root_children[1]->entry()->name()); 185 CHECK_EQ("bbb", bottom_up_root_children[1]->entry()->name());
186 CHECK_EQ("ddd", bottom_up_root_children[2]->entry()->name()); 186 CHECK_EQ("ddd", bottom_up_root_children[2]->entry()->name());
187 const i::List<ProfileNode*>* bottom_up_stub_children = 187 const i::List<ProfileNode*>* bottom_up_stub_children =
188 bottom_up_root_children[0]->children(); 188 bottom_up_root_children[0]->children();
189 CHECK_EQ(1, bottom_up_stub_children->length()); 189 CHECK_EQ(1, bottom_up_stub_children->length());
190 CHECK_EQ("bbb", bottom_up_stub_children->last()->entry()->name()); 190 CHECK_EQ("bbb", bottom_up_stub_children->last()->entry()->name());
191 const i::List<ProfileNode*>* bottom_up_bbb_children = 191 const i::List<ProfileNode*>* bottom_up_bbb_children =
192 bottom_up_root_children[1]->children(); 192 bottom_up_root_children[1]->children();
193 CHECK_EQ(0, bottom_up_bbb_children->length()); 193 CHECK_EQ(0, bottom_up_bbb_children->length());
194 const i::List<ProfileNode*>* bottom_up_ddd_children = 194 const i::List<ProfileNode*>* bottom_up_ddd_children =
195 bottom_up_root_children[2]->children(); 195 bottom_up_root_children[2]->children();
196 CHECK_EQ(1, bottom_up_ddd_children->length()); 196 CHECK_EQ(1, bottom_up_ddd_children->length());
197 CHECK_EQ("args_count: 5", bottom_up_ddd_children->last()->entry()->name()); 197 CHECK_EQ("5", bottom_up_ddd_children->last()->entry()->name());
198 const i::List<ProfileNode*>* bottom_up_ddd_stub_children = 198 const i::List<ProfileNode*>* bottom_up_ddd_stub_children =
199 bottom_up_ddd_children->last()->children(); 199 bottom_up_ddd_children->last()->children();
200 CHECK_EQ(1, bottom_up_ddd_stub_children->length()); 200 CHECK_EQ(1, bottom_up_ddd_stub_children->length());
201 CHECK_EQ("bbb", bottom_up_ddd_stub_children->last()->entry()->name()); 201 CHECK_EQ("bbb", bottom_up_ddd_stub_children->last()->entry()->name());
202 } 202 }
203 203
204 #endif // ENABLE_CPP_PROFILES_PROCESSOR 204 #endif // ENABLE_CPP_PROFILES_PROCESSOR
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698