OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/bootstrapper.h" | 5 #include "src/bootstrapper.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/api-natives.h" | 8 #include "src/api-natives.h" |
9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/extensions/externalize-string-extension.h" | 10 #include "src/extensions/externalize-string-extension.h" |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 UNVISITED, VISITED, INSTALLED | 229 UNVISITED, VISITED, INSTALLED |
230 }; | 230 }; |
231 | 231 |
232 class ExtensionStates { | 232 class ExtensionStates { |
233 public: | 233 public: |
234 ExtensionStates(); | 234 ExtensionStates(); |
235 ExtensionTraversalState get_state(RegisteredExtension* extension); | 235 ExtensionTraversalState get_state(RegisteredExtension* extension); |
236 void set_state(RegisteredExtension* extension, | 236 void set_state(RegisteredExtension* extension, |
237 ExtensionTraversalState state); | 237 ExtensionTraversalState state); |
238 private: | 238 private: |
239 HashMap map_; | 239 base::HashMap map_; |
240 DISALLOW_COPY_AND_ASSIGN(ExtensionStates); | 240 DISALLOW_COPY_AND_ASSIGN(ExtensionStates); |
241 }; | 241 }; |
242 | 242 |
243 // Used both for deserialized and from-scratch contexts to add the extensions | 243 // Used both for deserialized and from-scratch contexts to add the extensions |
244 // provided. | 244 // provided. |
245 static bool InstallExtensions(Handle<Context> native_context, | 245 static bool InstallExtensions(Handle<Context> native_context, |
246 v8::ExtensionConfiguration* extensions); | 246 v8::ExtensionConfiguration* extensions); |
247 static bool InstallAutoExtensions(Isolate* isolate, | 247 static bool InstallAutoExtensions(Isolate* isolate, |
248 ExtensionStates* extension_states); | 248 ExtensionStates* extension_states); |
249 static bool InstallRequestedExtensions(Isolate* isolate, | 249 static bool InstallRequestedExtensions(Isolate* isolate, |
(...skipping 3190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3440 } | 3440 } |
3441 | 3441 |
3442 return true; | 3442 return true; |
3443 } | 3443 } |
3444 | 3444 |
3445 | 3445 |
3446 static uint32_t Hash(RegisteredExtension* extension) { | 3446 static uint32_t Hash(RegisteredExtension* extension) { |
3447 return v8::internal::ComputePointerHash(extension); | 3447 return v8::internal::ComputePointerHash(extension); |
3448 } | 3448 } |
3449 | 3449 |
3450 | 3450 Genesis::ExtensionStates::ExtensionStates() |
3451 Genesis::ExtensionStates::ExtensionStates() : map_(HashMap::PointersMatch, 8) {} | 3451 : map_(base::HashMap::PointersMatch, 8) {} |
3452 | 3452 |
3453 Genesis::ExtensionTraversalState Genesis::ExtensionStates::get_state( | 3453 Genesis::ExtensionTraversalState Genesis::ExtensionStates::get_state( |
3454 RegisteredExtension* extension) { | 3454 RegisteredExtension* extension) { |
3455 i::HashMap::Entry* entry = map_.Lookup(extension, Hash(extension)); | 3455 base::HashMap::Entry* entry = map_.Lookup(extension, Hash(extension)); |
3456 if (entry == NULL) { | 3456 if (entry == NULL) { |
3457 return UNVISITED; | 3457 return UNVISITED; |
3458 } | 3458 } |
3459 return static_cast<ExtensionTraversalState>( | 3459 return static_cast<ExtensionTraversalState>( |
3460 reinterpret_cast<intptr_t>(entry->value)); | 3460 reinterpret_cast<intptr_t>(entry->value)); |
3461 } | 3461 } |
3462 | 3462 |
3463 void Genesis::ExtensionStates::set_state(RegisteredExtension* extension, | 3463 void Genesis::ExtensionStates::set_state(RegisteredExtension* extension, |
3464 ExtensionTraversalState state) { | 3464 ExtensionTraversalState state) { |
3465 map_.LookupOrInsert(extension, Hash(extension))->value = | 3465 map_.LookupOrInsert(extension, Hash(extension))->value = |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3932 } | 3932 } |
3933 | 3933 |
3934 | 3934 |
3935 // Called when the top-level V8 mutex is destroyed. | 3935 // Called when the top-level V8 mutex is destroyed. |
3936 void Bootstrapper::FreeThreadResources() { | 3936 void Bootstrapper::FreeThreadResources() { |
3937 DCHECK(!IsActive()); | 3937 DCHECK(!IsActive()); |
3938 } | 3938 } |
3939 | 3939 |
3940 } // namespace internal | 3940 } // namespace internal |
3941 } // namespace v8 | 3941 } // namespace v8 |
OLD | NEW |