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

Side by Side Diff: src/cpu-profiler.h

Issue 7864017: Eliminate the need for code delete events in CPU profiler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fixed test-log/EquivalenceOfLoggingAndTraversal Created 9 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
« no previous file with comments | « no previous file | src/cpu-profiler.cc » ('j') | src/log.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 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 30 matching lines...) Expand all
41 class CodeMap; 41 class CodeMap;
42 class CpuProfile; 42 class CpuProfile;
43 class CpuProfilesCollection; 43 class CpuProfilesCollection;
44 class HashMap; 44 class HashMap;
45 class ProfileGenerator; 45 class ProfileGenerator;
46 class TokenEnumerator; 46 class TokenEnumerator;
47 47
48 #define CODE_EVENTS_TYPE_LIST(V) \ 48 #define CODE_EVENTS_TYPE_LIST(V) \
49 V(CODE_CREATION, CodeCreateEventRecord) \ 49 V(CODE_CREATION, CodeCreateEventRecord) \
50 V(CODE_MOVE, CodeMoveEventRecord) \ 50 V(CODE_MOVE, CodeMoveEventRecord) \
51 V(CODE_DELETE, CodeDeleteEventRecord) \
52 V(SHARED_FUNC_MOVE, SharedFunctionInfoMoveEventRecord) 51 V(SHARED_FUNC_MOVE, SharedFunctionInfoMoveEventRecord)
53 52
54 53
55 class CodeEventRecord { 54 class CodeEventRecord {
56 public: 55 public:
57 #define DECLARE_TYPE(type, ignore) type, 56 #define DECLARE_TYPE(type, ignore) type,
58 enum Type { 57 enum Type {
59 NONE = 0, 58 NONE = 0,
60 CODE_EVENTS_TYPE_LIST(DECLARE_TYPE) 59 CODE_EVENTS_TYPE_LIST(DECLARE_TYPE)
61 NUMBER_OF_TYPES 60 NUMBER_OF_TYPES
(...skipping 18 matching lines...) Expand all
80 79
81 class CodeMoveEventRecord : public CodeEventRecord { 80 class CodeMoveEventRecord : public CodeEventRecord {
82 public: 81 public:
83 Address from; 82 Address from;
84 Address to; 83 Address to;
85 84
86 INLINE(void UpdateCodeMap(CodeMap* code_map)); 85 INLINE(void UpdateCodeMap(CodeMap* code_map));
87 }; 86 };
88 87
89 88
90 class CodeDeleteEventRecord : public CodeEventRecord {
91 public:
92 Address start;
93
94 INLINE(void UpdateCodeMap(CodeMap* code_map));
95 };
96
97
98 class SharedFunctionInfoMoveEventRecord : public CodeEventRecord { 89 class SharedFunctionInfoMoveEventRecord : public CodeEventRecord {
99 public: 90 public:
100 Address from; 91 Address from;
101 Address to; 92 Address to;
102 93
103 INLINE(void UpdateCodeMap(CodeMap* code_map)); 94 INLINE(void UpdateCodeMap(CodeMap* code_map));
104 }; 95 };
105 96
106 97
107 class TickSampleEventRecord { 98 class TickSampleEventRecord {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 Atomic32 is_profiling_; 275 Atomic32 is_profiling_;
285 276
286 private: 277 private:
287 DISALLOW_COPY_AND_ASSIGN(CpuProfiler); 278 DISALLOW_COPY_AND_ASSIGN(CpuProfiler);
288 }; 279 };
289 280
290 } } // namespace v8::internal 281 } } // namespace v8::internal
291 282
292 283
293 #endif // V8_CPU_PROFILER_H_ 284 #endif // V8_CPU_PROFILER_H_
OLDNEW
« no previous file with comments | « no previous file | src/cpu-profiler.cc » ('j') | src/log.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698