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

Side by Side Diff: src/isolate.cc

Issue 70013002: Support for the Linux 'perf report' and 'perf annotate' tools. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebase 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/flag-definitions.h ('k') | src/log.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 2041 matching lines...) Expand 10 before | Expand all | Expand 10 after
2052 2052
2053 // Quiet the heap NaN if needed on target platform. 2053 // Quiet the heap NaN if needed on target platform.
2054 if (!create_heap_objects) Assembler::QuietNaN(heap_.nan_value()); 2054 if (!create_heap_objects) Assembler::QuietNaN(heap_.nan_value());
2055 2055
2056 runtime_profiler_ = new RuntimeProfiler(this); 2056 runtime_profiler_ = new RuntimeProfiler(this);
2057 runtime_profiler_->SetUp(); 2057 runtime_profiler_->SetUp();
2058 2058
2059 // If we are deserializing, log non-function code objects and compiled 2059 // If we are deserializing, log non-function code objects and compiled
2060 // functions found in the snapshot. 2060 // functions found in the snapshot.
2061 if (!create_heap_objects && 2061 if (!create_heap_objects &&
2062 (FLAG_log_code || FLAG_ll_prof || logger_->is_logging_code_events())) { 2062 (FLAG_log_code ||
2063 FLAG_ll_prof ||
2064 FLAG_perf_jit_prof ||
2065 FLAG_perf_basic_prof ||
2066 logger_->is_logging_code_events())) {
2063 HandleScope scope(this); 2067 HandleScope scope(this);
2064 LOG(this, LogCodeObjects()); 2068 LOG(this, LogCodeObjects());
2065 LOG(this, LogCompiledFunctions()); 2069 LOG(this, LogCompiledFunctions());
2066 } 2070 }
2067 2071
2072 // If we are profiling with the Linux perf tool, we need to disable
2073 // code relocation.
2074 if (FLAG_perf_jit_prof || FLAG_perf_basic_prof) {
2075 FLAG_compact_code_space = false;
2076 }
2077
2068 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, embedder_data_)), 2078 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, embedder_data_)),
2069 Internals::kIsolateEmbedderDataOffset); 2079 Internals::kIsolateEmbedderDataOffset);
2070 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.roots_)), 2080 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.roots_)),
2071 Internals::kIsolateRootsOffset); 2081 Internals::kIsolateRootsOffset);
2072 2082
2073 state_ = INITIALIZED; 2083 state_ = INITIALIZED;
2074 time_millis_at_init_ = OS::TimeCurrentMillis(); 2084 time_millis_at_init_ = OS::TimeCurrentMillis();
2075 2085
2076 if (!create_heap_objects) { 2086 if (!create_heap_objects) {
2077 // Now that the heap is consistent, it's OK to generate the code for the 2087 // Now that the heap is consistent, it's OK to generate the code for the
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
2293 2303
2294 #ifdef DEBUG 2304 #ifdef DEBUG
2295 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ 2305 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \
2296 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); 2306 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_);
2297 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) 2307 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET)
2298 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) 2308 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET)
2299 #undef ISOLATE_FIELD_OFFSET 2309 #undef ISOLATE_FIELD_OFFSET
2300 #endif 2310 #endif
2301 2311
2302 } } // namespace v8::internal 2312 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/flag-definitions.h ('k') | src/log.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698