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

Side by Side Diff: src/v8.cc

Issue 39179: Adding support for reporting addresses of JIT compiled code to OProfile (Closed)
Patch Set: Fixes according to Kasper's comments Created 11 years, 9 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
« no previous file with comments | « src/oprofile-agent.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 13 matching lines...) Expand all
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 #include "v8.h" 28 #include "v8.h"
29 29
30 #include "bootstrapper.h" 30 #include "bootstrapper.h"
31 #include "debug.h" 31 #include "debug.h"
32 #include "serialize.h" 32 #include "serialize.h"
33 #include "stub-cache.h" 33 #include "stub-cache.h"
34 #include "oprofile-agent.h"
34 35
35 namespace v8 { namespace internal { 36 namespace v8 { namespace internal {
36 37
37 bool V8::has_been_setup_ = false; 38 bool V8::has_been_setup_ = false;
38 bool V8::has_been_disposed_ = false; 39 bool V8::has_been_disposed_ = false;
39 40
40 bool V8::Initialize(Deserializer *des) { 41 bool V8::Initialize(Deserializer *des) {
41 bool create_heap_objects = des == NULL; 42 bool create_heap_objects = des == NULL;
42 if (HasBeenDisposed()) return false; 43 if (HasBeenDisposed()) return false;
43 if (HasBeenSetup()) return true; 44 if (HasBeenSetup()) return true;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 if (des != NULL) { 79 if (des != NULL) {
79 des->Deserialize(); 80 des->Deserialize();
80 StubCache::Clear(); 81 StubCache::Clear();
81 } 82 }
82 83
83 // Setup the CPU support. Must be done after heap setup and after 84 // Setup the CPU support. Must be done after heap setup and after
84 // any deserialization because we have to have the initial heap 85 // any deserialization because we have to have the initial heap
85 // objects in place for creating the code object used for probing. 86 // objects in place for creating the code object used for probing.
86 CPU::Setup(); 87 CPU::Setup();
87 88
89 OProfileAgent::Initialize();
90
88 return true; 91 return true;
89 } 92 }
90 93
91 94
92 void V8::TearDown() { 95 void V8::TearDown() {
93 if (HasBeenDisposed()) return; 96 if (HasBeenDisposed()) return;
94 if (!HasBeenSetup()) return; 97 if (!HasBeenSetup()) return;
95 98
99 OProfileAgent::TearDown();
100
96 if (FLAG_preemption) { 101 if (FLAG_preemption) {
97 v8::Locker locker; 102 v8::Locker locker;
98 v8::Locker::StopPreemption(); 103 v8::Locker::StopPreemption();
99 } 104 }
100 105
101 Builtins::TearDown(); 106 Builtins::TearDown();
102 Bootstrapper::TearDown(); 107 Bootstrapper::TearDown();
103 108
104 Top::TearDown(); 109 Top::TearDown();
105 110
106 Heap::TearDown(); 111 Heap::TearDown();
107 Logger::TearDown(); 112 Logger::TearDown();
108 113
109 has_been_setup_ = false; 114 has_been_setup_ = false;
110 has_been_disposed_ = true; 115 has_been_disposed_ = true;
111 } 116 }
112 117
113 } } // namespace v8::internal 118 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/oprofile-agent.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698