@@ -88,16 +88,6 @@ Local<String> BuiltinLoader::GetConfigString(Isolate* isolate) {
88
88
return config_.ToStringChecked (isolate);
89
89
}
90
90
91
- std::vector<std::string_view> BuiltinLoader::GetBuiltinIds () const {
92
- std::vector<std::string_view> ids;
93
- auto source = source_.read ();
94
- ids.reserve (source->size ());
95
- for (auto const & x : *source) {
96
- ids.emplace_back (x.first );
97
- }
98
- return ids;
99
- }
100
-
101
91
BuiltinLoader::BuiltinCategories BuiltinLoader::GetBuiltinCategories () const {
102
92
BuiltinCategories builtin_categories;
103
93
@@ -515,26 +505,25 @@ bool BuiltinLoader::CompileAllBuiltinsAndCopyCodeCache(
515
505
Local<Context> context,
516
506
const std::vector<std::string>& eager_builtins,
517
507
std::vector<CodeCacheInfo>* out) {
518
- std::vector<std::string_view> ids = GetBuiltinIds ();
508
+ auto ids = GetBuiltinIds ();
519
509
bool all_succeeded = true ;
520
- std::string v8_tools_prefix = " internal/deps/v8/tools/" ;
521
- std::string primordial_prefix = " internal/per_context/" ;
522
- std::string bootstrap_prefix = " internal/bootstrap/" ;
523
- std::string main_prefix = " internal/main/" ;
524
- to_eager_compile_ = std::unordered_set<std::string>(eager_builtins. begin (),
525
- eager_builtins.end ());
510
+ constexpr std::string_view v8_tools_prefix = " internal/deps/v8/tools/" ;
511
+ constexpr std::string_view primordial_prefix = " internal/per_context/" ;
512
+ constexpr std::string_view bootstrap_prefix = " internal/bootstrap/" ;
513
+ constexpr std::string_view main_prefix = " internal/main/" ;
514
+ to_eager_compile_ =
515
+ std::unordered_set (eager_builtins. begin (), eager_builtins.end ());
526
516
527
517
for (const auto & id : ids) {
528
- if (id.compare ( 0 , v8_tools_prefix. size (), v8_tools_prefix) == 0 ) {
518
+ if (id.starts_with ( v8_tools_prefix) ) {
529
519
// No need to generate code cache for v8 scripts.
530
520
continue ;
531
521
}
532
522
533
523
// Eagerly compile primordials/boostrap/main scripts during code cache
534
524
// generation.
535
- if (id.compare (0 , primordial_prefix.size (), primordial_prefix) == 0 ||
536
- id.compare (0 , bootstrap_prefix.size (), bootstrap_prefix) == 0 ||
537
- id.compare (0 , main_prefix.size (), main_prefix) == 0 ) {
525
+ if (id.starts_with (primordial_prefix) || id.starts_with (bootstrap_prefix) ||
526
+ id.starts_with (main_prefix)) {
538
527
to_eager_compile_.emplace (id);
539
528
}
540
529
@@ -554,8 +543,8 @@ bool BuiltinLoader::CompileAllBuiltinsAndCopyCodeCache(
554
543
}
555
544
556
545
RwLock::ScopedReadLock lock (code_cache_->mutex );
557
- for (auto const & item : code_cache_->map ) {
558
- out->push_back ({item. first , item. second });
546
+ for (const auto & [id, data] : code_cache_->map ) {
547
+ out->push_back ({id, data });
559
548
}
560
549
return all_succeeded;
561
550
}
@@ -564,8 +553,8 @@ void BuiltinLoader::RefreshCodeCache(const std::vector<CodeCacheInfo>& in) {
564
553
RwLock::ScopedLock lock (code_cache_->mutex );
565
554
code_cache_->map .reserve (in.size ());
566
555
DCHECK (code_cache_->map .empty ());
567
- for (auto const & item : in) {
568
- auto result = code_cache_->map .emplace (item. id , item. data );
556
+ for (auto const & [id, data] : in) {
557
+ auto result = code_cache_->map .emplace (id, data);
569
558
USE (result.second );
570
559
DCHECK (result.second );
571
560
}
@@ -665,7 +654,7 @@ void BuiltinLoader::BuiltinIdsGetter(Local<Name> property,
665
654
Environment* env = Environment::GetCurrent (info);
666
655
Isolate* isolate = env->isolate ();
667
656
668
- std::vector<std::string_view> ids = env->builtin_loader ()->GetBuiltinIds ();
657
+ auto ids = env->builtin_loader ()->GetBuiltinIds ();
669
658
info.GetReturnValue ().Set (
670
659
ToV8Value (isolate->GetCurrentContext (), ids).ToLocalChecked ());
671
660
}
0 commit comments