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

Side by Side Diff: src/profile-generator.cc

Issue 422593003: Initial GetSample implementation. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Removed Address from public API. Removed the function to copy TickSample to Sample. Created 6 years, 3 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/profile-generator-inl.h" 7 #include "src/profile-generator-inl.h"
8 8
9 #include "src/compiler.h" 9 #include "src/compiler.h"
10 #include "src/debug.h" 10 #include "src/debug.h"
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 // frame. In the latter case we know the caller for sure but in the 621 // frame. In the latter case we know the caller for sure but in the
622 // former case we don't so we simply replace the frame with 622 // former case we don't so we simply replace the frame with
623 // 'unresolved' entry. 623 // 'unresolved' entry.
624 if (sample.top_frame_type == StackFrame::JAVA_SCRIPT) { 624 if (sample.top_frame_type == StackFrame::JAVA_SCRIPT) {
625 *entry++ = unresolved_entry_; 625 *entry++ = unresolved_entry_;
626 } 626 }
627 } 627 }
628 } 628 }
629 } 629 }
630 630
631 for (const Address* stack_pos = sample.stack, 631 for (const Address* stack_pos = reinterpret_cast<const Address*>(sample.stac k),
Sven Panne 2014/09/02 08:15:02 static_cast again, the const seems to be unnecessa
gholap 2014/09/02 08:56:08 Hmm... that should work for individual pointers, r
Sven Panne 2014/09/02 11:15:36 Done correctly, it *would* work, but actually ther
gholap 2014/09/02 14:43:11 Done. I know where I went wrong! I took my working
632 *stack_end = stack_pos + sample.frames_count; 632 *stack_end = stack_pos + sample.frames_count;
633 stack_pos != stack_end; 633 stack_pos != stack_end;
634 ++stack_pos) { 634 ++stack_pos) {
635 *entry++ = code_map_.FindEntry(*stack_pos); 635 *entry++ = code_map_.FindEntry(*stack_pos);
636 } 636 }
637 } 637 }
638 638
639 if (FLAG_prof_browser_mode) { 639 if (FLAG_prof_browser_mode) {
640 bool no_symbolized_entries = true; 640 bool no_symbolized_entries = true;
641 for (CodeEntry** e = entries.start(); e != entry; ++e) { 641 for (CodeEntry** e = entries.start(); e != entry; ++e) {
(...skipping 24 matching lines...) Expand all
666 case OTHER: 666 case OTHER:
667 case EXTERNAL: 667 case EXTERNAL:
668 return program_entry_; 668 return program_entry_;
669 case IDLE: 669 case IDLE:
670 return idle_entry_; 670 return idle_entry_;
671 default: return NULL; 671 default: return NULL;
672 } 672 }
673 } 673 }
674 674
675 } } // namespace v8::internal 675 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698