| 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/isolate.h" | 5 #include "src/isolate.h" |
| 6 | 6 |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 | 8 |
| 9 #include <fstream> // NOLINT(readability/streams) | 9 #include <fstream> // NOLINT(readability/streams) |
| 10 #include <sstream> | 10 #include <sstream> |
| (...skipping 3252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3263 #endif | 3263 #endif |
| 3264 | 3264 |
| 3265 Handle<Symbol> Isolate::SymbolFor(Heap::RootListIndex dictionary_index, | 3265 Handle<Symbol> Isolate::SymbolFor(Heap::RootListIndex dictionary_index, |
| 3266 Handle<String> name, bool private_symbol) { | 3266 Handle<String> name, bool private_symbol) { |
| 3267 Handle<String> key = factory()->InternalizeString(name); | 3267 Handle<String> key = factory()->InternalizeString(name); |
| 3268 Handle<NameDictionary> dictionary = | 3268 Handle<NameDictionary> dictionary = |
| 3269 Handle<NameDictionary>::cast(heap()->root_handle(dictionary_index)); | 3269 Handle<NameDictionary>::cast(heap()->root_handle(dictionary_index)); |
| 3270 int entry = dictionary->FindEntry(key); | 3270 int entry = dictionary->FindEntry(key); |
| 3271 Handle<Symbol> symbol; | 3271 Handle<Symbol> symbol; |
| 3272 if (entry == NameDictionary::kNotFound) { | 3272 if (entry == NameDictionary::kNotFound) { |
| 3273 symbol = | 3273 symbol = private_symbol ? factory()->NewPrivateSymbol(key).ToHandleChecked() |
| 3274 private_symbol ? factory()->NewPrivateSymbol() : factory()->NewSymbol(); | 3274 : factory()->NewSymbol(key).ToHandleChecked(); |
| 3275 symbol->set_name(*key); | |
| 3276 dictionary = NameDictionary::Add(dictionary, key, symbol, | 3275 dictionary = NameDictionary::Add(dictionary, key, symbol, |
| 3277 PropertyDetails::Empty(), &entry); | 3276 PropertyDetails::Empty(), &entry); |
| 3278 switch (dictionary_index) { | 3277 switch (dictionary_index) { |
| 3279 case Heap::kPublicSymbolTableRootIndex: | 3278 case Heap::kPublicSymbolTableRootIndex: |
| 3280 symbol->set_is_public(true); | 3279 symbol->set_is_public(true); |
| 3281 heap()->set_public_symbol_table(*dictionary); | 3280 heap()->set_public_symbol_table(*dictionary); |
| 3282 break; | 3281 break; |
| 3283 case Heap::kApiSymbolTableRootIndex: | 3282 case Heap::kApiSymbolTableRootIndex: |
| 3284 heap()->set_api_symbol_table(*dictionary); | 3283 heap()->set_api_symbol_table(*dictionary); |
| 3285 break; | 3284 break; |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3776 // Then check whether this scope intercepts. | 3775 // Then check whether this scope intercepts. |
| 3777 if ((flag & intercept_mask_)) { | 3776 if ((flag & intercept_mask_)) { |
| 3778 intercepted_flags_ |= flag; | 3777 intercepted_flags_ |= flag; |
| 3779 return true; | 3778 return true; |
| 3780 } | 3779 } |
| 3781 return false; | 3780 return false; |
| 3782 } | 3781 } |
| 3783 | 3782 |
| 3784 } // namespace internal | 3783 } // namespace internal |
| 3785 } // namespace v8 | 3784 } // namespace v8 |
| OLD | NEW |