Revision: 13370
Author: [email protected]
Date: Mon Jan 14 04:59:41 2013
Log: The time spent in GCPrologue callbacks and GCEpilogue callbacks
should be measured as EXTERNAL time
BUG=
Review URL: https://codereview.chromium.org/11817044
Patch from Kentaro Hara <[email protected]>.
http://code.google.com/p/v8/source/detail?r=13370
Modified:
/branches/bleeding_edge/src/heap.cc
=======================================
--- /branches/bleeding_edge/src/heap.cc Wed Jan 9 07:47:53 2013
+++ /branches/bleeding_edge/src/heap.cc Mon Jan 14 04:59:41 2013
@@ -892,9 +892,12 @@
GCType gc_type =
collector == MARK_COMPACTOR ? kGCTypeMarkSweepCompact :
kGCTypeScavenge;
- for (int i = 0; i < gc_prologue_callbacks_.length(); ++i) {
- if (gc_type & gc_prologue_callbacks_[i].gc_type) {
- gc_prologue_callbacks_[i].callback(gc_type, kNoGCCallbackFlags);
+ {
+ GCTracer::Scope scope(tracer, GCTracer::Scope::EXTERNAL);
+ for (int i = 0; i < gc_prologue_callbacks_.length(); ++i) {
+ if (gc_type & gc_prologue_callbacks_[i].gc_type) {
+ gc_prologue_callbacks_[i].callback(gc_type, kNoGCCallbackFlags);
+ }
}
}
@@ -1002,10 +1005,13 @@
amount_of_external_allocated_memory_;
}
- GCCallbackFlags callback_flags = kNoGCCallbackFlags;
- for (int i = 0; i < gc_epilogue_callbacks_.length(); ++i) {
- if (gc_type & gc_epilogue_callbacks_[i].gc_type) {
- gc_epilogue_callbacks_[i].callback(gc_type, callback_flags);
+ {
+ GCTracer::Scope scope(tracer, GCTracer::Scope::EXTERNAL);
+ GCCallbackFlags callback_flags = kNoGCCallbackFlags;
+ for (int i = 0; i < gc_epilogue_callbacks_.length(); ++i) {
+ if (gc_type & gc_epilogue_callbacks_[i].gc_type) {
+ gc_epilogue_callbacks_[i].callback(gc_type, callback_flags);
+ }
}
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev