@@ -88,16 +88,6 @@ Local<String> BuiltinLoader::GetConfigString(Isolate* isolate) {
8888 return config_.ToStringChecked (isolate);
8989}
9090
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-
10191BuiltinLoader::BuiltinCategories BuiltinLoader::GetBuiltinCategories () const {
10292 BuiltinCategories builtin_categories;
10393
@@ -515,26 +505,25 @@ bool BuiltinLoader::CompileAllBuiltinsAndCopyCodeCache(
515505 Local<Context> context,
516506 const std::vector<std::string>& eager_builtins,
517507 std::vector<CodeCacheInfo>* out) {
518- std::vector<std::string_view> ids = GetBuiltinIds ();
508+ auto ids = GetBuiltinIds ();
519509 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 ());
526516
527517 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) ) {
529519 // No need to generate code cache for v8 scripts.
530520 continue ;
531521 }
532522
533523 // Eagerly compile primordials/boostrap/main scripts during code cache
534524 // 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)) {
538527 to_eager_compile_.emplace (id);
539528 }
540529
@@ -554,8 +543,8 @@ bool BuiltinLoader::CompileAllBuiltinsAndCopyCodeCache(
554543 }
555544
556545 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 });
559548 }
560549 return all_succeeded;
561550}
@@ -564,8 +553,8 @@ void BuiltinLoader::RefreshCodeCache(const std::vector<CodeCacheInfo>& in) {
564553 RwLock::ScopedLock lock (code_cache_->mutex );
565554 code_cache_->map .reserve (in.size ());
566555 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);
569558 USE (result.second );
570559 DCHECK (result.second );
571560 }
@@ -665,7 +654,7 @@ void BuiltinLoader::BuiltinIdsGetter(Local<Name> property,
665654 Environment* env = Environment::GetCurrent (info);
666655 Isolate* isolate = env->isolate ();
667656
668- std::vector<std::string_view> ids = env->builtin_loader ()->GetBuiltinIds ();
657+ auto ids = env->builtin_loader ()->GetBuiltinIds ();
669658 info.GetReturnValue ().Set (
670659 ToV8Value (isolate->GetCurrentContext (), ids).ToLocalChecked ());
671660}
0 commit comments