OLD | NEW |
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/assembler.h" | 7 #include "src/assembler.h" |
8 #include "src/base/once.h" | 8 #include "src/base/once.h" |
9 #include "src/base/platform/platform.h" | 9 #include "src/base/platform/platform.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
11 #include "src/compiler/pipeline.h" | |
12 #include "src/debug.h" | 11 #include "src/debug.h" |
13 #include "src/deoptimizer.h" | 12 #include "src/deoptimizer.h" |
14 #include "src/elements.h" | 13 #include "src/elements.h" |
15 #include "src/frames.h" | 14 #include "src/frames.h" |
16 #include "src/heap/store-buffer.h" | 15 #include "src/heap/store-buffer.h" |
17 #include "src/heap-profiler.h" | 16 #include "src/heap-profiler.h" |
18 #include "src/hydrogen.h" | 17 #include "src/hydrogen.h" |
19 #include "src/isolate.h" | 18 #include "src/isolate.h" |
20 #include "src/lithium-allocator.h" | 19 #include "src/lithium-allocator.h" |
21 #include "src/natives.h" | 20 #include "src/natives.h" |
(...skipping 21 matching lines...) Expand all Loading... |
43 bool V8::Initialize() { | 42 bool V8::Initialize() { |
44 InitializeOncePerProcess(); | 43 InitializeOncePerProcess(); |
45 return true; | 44 return true; |
46 } | 45 } |
47 | 46 |
48 | 47 |
49 void V8::TearDown() { | 48 void V8::TearDown() { |
50 Bootstrapper::TearDownExtensions(); | 49 Bootstrapper::TearDownExtensions(); |
51 ElementsAccessor::TearDown(); | 50 ElementsAccessor::TearDown(); |
52 LOperand::TearDownCaches(); | 51 LOperand::TearDownCaches(); |
53 compiler::Pipeline::TearDown(); | |
54 ExternalReference::TearDownMathExpData(); | 52 ExternalReference::TearDownMathExpData(); |
55 RegisteredExtension::UnregisterAll(); | 53 RegisteredExtension::UnregisterAll(); |
56 Isolate::GlobalTearDown(); | 54 Isolate::GlobalTearDown(); |
57 Sampler::TearDown(); | 55 Sampler::TearDown(); |
58 FlagList::ResetAllFlags(); // Frees memory held by string arguments. | 56 FlagList::ResetAllFlags(); // Frees memory held by string arguments. |
59 } | 57 } |
60 | 58 |
61 | 59 |
62 void V8::SetReturnAddressLocationResolver( | 60 void V8::SetReturnAddressLocationResolver( |
63 ReturnAddressLocationResolver resolver) { | 61 ReturnAddressLocationResolver resolver) { |
(...skipping 23 matching lines...) Expand all Loading... |
87 CpuFeatures::Probe(false); | 85 CpuFeatures::Probe(false); |
88 init_memcopy_functions(); | 86 init_memcopy_functions(); |
89 // The custom exp implementation needs 16KB of lookup data; initialize it | 87 // The custom exp implementation needs 16KB of lookup data; initialize it |
90 // on demand. | 88 // on demand. |
91 init_fast_sqrt_function(); | 89 init_fast_sqrt_function(); |
92 #ifdef _WIN64 | 90 #ifdef _WIN64 |
93 init_modulo_function(); | 91 init_modulo_function(); |
94 #endif | 92 #endif |
95 ElementsAccessor::InitializeOncePerProcess(); | 93 ElementsAccessor::InitializeOncePerProcess(); |
96 LOperand::SetUpCaches(); | 94 LOperand::SetUpCaches(); |
97 compiler::Pipeline::SetUp(); | |
98 SetUpJSCallerSavedCodeData(); | 95 SetUpJSCallerSavedCodeData(); |
99 ExternalReference::SetUp(); | 96 ExternalReference::SetUp(); |
100 Bootstrapper::InitializeOncePerProcess(); | 97 Bootstrapper::InitializeOncePerProcess(); |
101 } | 98 } |
102 | 99 |
103 | 100 |
104 void V8::InitializeOncePerProcess() { | 101 void V8::InitializeOncePerProcess() { |
105 base::CallOnce(&init_once, &InitializeOncePerProcessImpl); | 102 base::CallOnce(&init_once, &InitializeOncePerProcessImpl); |
106 } | 103 } |
107 | 104 |
(...skipping 27 matching lines...) Expand all Loading... |
135 | 132 |
136 | 133 |
137 void V8::SetSnapshotBlob(StartupData* snapshot_blob) { | 134 void V8::SetSnapshotBlob(StartupData* snapshot_blob) { |
138 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | 135 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |
139 base::CallOnce(&init_snapshot_once, &SetSnapshotFromFile, snapshot_blob); | 136 base::CallOnce(&init_snapshot_once, &SetSnapshotFromFile, snapshot_blob); |
140 #else | 137 #else |
141 CHECK(false); | 138 CHECK(false); |
142 #endif | 139 #endif |
143 } | 140 } |
144 } } // namespace v8::internal | 141 } } // namespace v8::internal |
OLD | NEW |