Skip to content

Commit b618cf7

Browse files
JosephTremoulettstellar
authored andcommitted
[lldb] GetSharedModule: Collect old modules in SmallVector
The various GetSharedModule methods have an optional out parameter for the old module when a file has changed or been replaced, which the Target uses to keep its module list current/correct. We've been using a single ModuleSP to track "the" old module, and this change switches to using a SmallVector of ModuleSP, which has a couple benefits: - There are multiple codepaths which may discover an old module, and this centralizes the code for how to handle multiples in one place, in the Target code. With the single ModuleSP, each place that may discover an old module is responsible for how it handles multiples, and the current code is inconsistent (some code paths drop the first old module, others drop the second). - The API will be more natural for identifying old modules in routines that work on sets, like ModuleList::ReplaceEquivalent (which I plan on updating to report old module(s) in a subsequent change to fix a bug). I'm not convinced we can ever actually run into the case that multiple old modules are found in the same GetOrCreateModule call, but I think this change makes sense regardless, in light of the above. When an old module is reported, Target::GetOrCreateModule calls m_images.ReplaceModule, which doesn't allow multiple "old" modules; the new code calls ReplaceModule for the first "old" module, and for any subsequent old modules it logs the event and calls m_images.Remove. Reviewed By: jingham Differential Revision: https://reviews.llvm.org/D89156 (cherry picked from commit 61bfc70)
1 parent 93fffe9 commit b618cf7

File tree

13 files changed

+154
-101
lines changed

13 files changed

+154
-101
lines changed

lldb/include/lldb/Core/ModuleList.h

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -443,12 +443,11 @@ class ModuleList {
443443

444444
static bool ModuleIsInCache(const Module *module_ptr);
445445

446-
static Status GetSharedModule(const ModuleSpec &module_spec,
447-
lldb::ModuleSP &module_sp,
448-
const FileSpecList *module_search_paths_ptr,
449-
lldb::ModuleSP *old_module_sp_ptr,
450-
bool *did_create_ptr,
451-
bool always_create = false);
446+
static Status
447+
GetSharedModule(const ModuleSpec &module_spec, lldb::ModuleSP &module_sp,
448+
const FileSpecList *module_search_paths_ptr,
449+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
450+
bool *did_create_ptr, bool always_create = false);
452451

453452
static bool RemoveSharedModule(lldb::ModuleSP &module_sp);
454453

lldb/include/lldb/Target/Platform.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,10 @@ class Platform : public PluginInterface {
301301
LocateExecutableScriptingResources(Target *target, Module &module,
302302
Stream *feedback_stream);
303303

304-
virtual Status GetSharedModule(const ModuleSpec &module_spec,
305-
Process *process, lldb::ModuleSP &module_sp,
306-
const FileSpecList *module_search_paths_ptr,
307-
lldb::ModuleSP *old_module_sp_ptr,
308-
bool *did_create_ptr);
304+
virtual Status GetSharedModule(
305+
const ModuleSpec &module_spec, Process *process,
306+
lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr,
307+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr);
309308

310309
virtual bool GetModuleSpec(const FileSpec &module_file_spec,
311310
const ArchSpec &arch, ModuleSpec &module_spec);

lldb/source/Core/ModuleList.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -731,11 +731,11 @@ size_t ModuleList::RemoveOrphanSharedModules(bool mandatory) {
731731
return GetSharedModuleList().RemoveOrphans(mandatory);
732732
}
733733

734-
Status ModuleList::GetSharedModule(const ModuleSpec &module_spec,
735-
ModuleSP &module_sp,
736-
const FileSpecList *module_search_paths_ptr,
737-
ModuleSP *old_module_sp_ptr,
738-
bool *did_create_ptr, bool always_create) {
734+
Status
735+
ModuleList::GetSharedModule(const ModuleSpec &module_spec, ModuleSP &module_sp,
736+
const FileSpecList *module_search_paths_ptr,
737+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
738+
bool *did_create_ptr, bool always_create) {
739739
ModuleList &shared_module_list = GetSharedModuleList();
740740
std::lock_guard<std::recursive_mutex> guard(
741741
shared_module_list.m_modules_mutex);
@@ -747,8 +747,6 @@ Status ModuleList::GetSharedModule(const ModuleSpec &module_spec,
747747

748748
if (did_create_ptr)
749749
*did_create_ptr = false;
750-
if (old_module_sp_ptr)
751-
old_module_sp_ptr->reset();
752750

753751
const UUID *uuid_ptr = module_spec.GetUUIDPtr();
754752
const FileSpec &module_file_spec = module_spec.GetFileSpec();
@@ -769,8 +767,8 @@ Status ModuleList::GetSharedModule(const ModuleSpec &module_spec,
769767

770768
// Make sure the file for the module hasn't been modified
771769
if (module_sp->FileHasChanged()) {
772-
if (old_module_sp_ptr && !*old_module_sp_ptr)
773-
*old_module_sp_ptr = module_sp;
770+
if (old_modules)
771+
old_modules->push_back(module_sp);
774772

775773
Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_MODULES));
776774
if (log != nullptr)
@@ -924,8 +922,8 @@ Status ModuleList::GetSharedModule(const ModuleSpec &module_spec,
924922
located_binary_modulespec.GetFileSpec());
925923
if (file_spec_mod_time != llvm::sys::TimePoint<>()) {
926924
if (file_spec_mod_time != module_sp->GetModificationTime()) {
927-
if (old_module_sp_ptr)
928-
*old_module_sp_ptr = module_sp;
925+
if (old_modules)
926+
old_modules->push_back(module_sp);
929927
shared_module_list.Remove(module_sp);
930928
module_sp.reset();
931929
}

lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ BringInRemoteFile(Platform *platform,
221221
lldb_private::Status PlatformDarwin::GetSharedModuleWithLocalCache(
222222
const lldb_private::ModuleSpec &module_spec, lldb::ModuleSP &module_sp,
223223
const lldb_private::FileSpecList *module_search_paths_ptr,
224-
lldb::ModuleSP *old_module_sp_ptr, bool *did_create_ptr) {
224+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr) {
225225

226226
Log *log(GetLogIfAnyCategoriesSet(LIBLLDB_LOG_PLATFORM));
227227
LLDB_LOGF(log,
@@ -238,7 +238,7 @@ lldb_private::Status PlatformDarwin::GetSharedModuleWithLocalCache(
238238
Status err;
239239

240240
err = ModuleList::GetSharedModule(module_spec, module_sp,
241-
module_search_paths_ptr, old_module_sp_ptr,
241+
module_search_paths_ptr, old_modules,
242242
did_create_ptr);
243243
if (module_sp)
244244
return err;
@@ -341,8 +341,8 @@ lldb_private::Status PlatformDarwin::GetSharedModuleWithLocalCache(
341341

342342
Status PlatformDarwin::GetSharedModule(
343343
const ModuleSpec &module_spec, Process *process, ModuleSP &module_sp,
344-
const FileSpecList *module_search_paths_ptr, ModuleSP *old_module_sp_ptr,
345-
bool *did_create_ptr) {
344+
const FileSpecList *module_search_paths_ptr,
345+
llvm::SmallVectorImpl<ModuleSP> *old_modules, bool *did_create_ptr) {
346346
Status error;
347347
module_sp.reset();
348348

@@ -351,16 +351,16 @@ Status PlatformDarwin::GetSharedModule(
351351
// module first.
352352
if (m_remote_platform_sp) {
353353
error = m_remote_platform_sp->GetSharedModule(
354-
module_spec, process, module_sp, module_search_paths_ptr,
355-
old_module_sp_ptr, did_create_ptr);
354+
module_spec, process, module_sp, module_search_paths_ptr, old_modules,
355+
did_create_ptr);
356356
}
357357
}
358358

359359
if (!module_sp) {
360360
// Fall back to the local platform and find the file locally
361361
error = Platform::GetSharedModule(module_spec, process, module_sp,
362-
module_search_paths_ptr,
363-
old_module_sp_ptr, did_create_ptr);
362+
module_search_paths_ptr, old_modules,
363+
did_create_ptr);
364364

365365
const FileSpec &platform_file = module_spec.GetFileSpec();
366366
if (!module_sp && module_search_paths_ptr && platform_file) {
@@ -373,7 +373,7 @@ Status PlatformDarwin::GetSharedModule(
373373
new_module_spec.GetFileSpec() = bundle_directory;
374374
if (Host::ResolveExecutableInBundle(new_module_spec.GetFileSpec())) {
375375
Status new_error(Platform::GetSharedModule(
376-
new_module_spec, process, module_sp, nullptr, old_module_sp_ptr,
376+
new_module_spec, process, module_sp, nullptr, old_modules,
377377
did_create_ptr));
378378

379379
if (module_sp)
@@ -400,8 +400,8 @@ Status PlatformDarwin::GetSharedModule(
400400
ModuleSpec new_module_spec(module_spec);
401401
new_module_spec.GetFileSpec() = new_file_spec;
402402
Status new_error(Platform::GetSharedModule(
403-
new_module_spec, process, module_sp, nullptr,
404-
old_module_sp_ptr, did_create_ptr));
403+
new_module_spec, process, module_sp, nullptr, old_modules,
404+
did_create_ptr));
405405

406406
if (module_sp) {
407407
module_sp->SetPlatformFileSpec(new_file_spec);
@@ -1639,8 +1639,8 @@ PlatformDarwin::LaunchProcess(lldb_private::ProcessLaunchInfo &launch_info) {
16391639

16401640
lldb_private::Status PlatformDarwin::FindBundleBinaryInExecSearchPaths(
16411641
const ModuleSpec &module_spec, Process *process, ModuleSP &module_sp,
1642-
const FileSpecList *module_search_paths_ptr, ModuleSP *old_module_sp_ptr,
1643-
bool *did_create_ptr) {
1642+
const FileSpecList *module_search_paths_ptr,
1643+
llvm::SmallVectorImpl<ModuleSP> *old_modules, bool *did_create_ptr) {
16441644
const FileSpec &platform_file = module_spec.GetFileSpec();
16451645
// See if the file is present in any of the module_search_paths_ptr
16461646
// directories.
@@ -1697,9 +1697,9 @@ lldb_private::Status PlatformDarwin::FindBundleBinaryInExecSearchPaths(
16971697
if (FileSystem::Instance().Exists(path_to_try)) {
16981698
ModuleSpec new_module_spec(module_spec);
16991699
new_module_spec.GetFileSpec() = path_to_try;
1700-
Status new_error(Platform::GetSharedModule(
1701-
new_module_spec, process, module_sp, nullptr, old_module_sp_ptr,
1702-
did_create_ptr));
1700+
Status new_error(
1701+
Platform::GetSharedModule(new_module_spec, process, module_sp,
1702+
nullptr, old_modules, did_create_ptr));
17031703

17041704
if (module_sp) {
17051705
module_sp->SetPlatformFileSpec(path_to_try);

lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class PlatformDarwin : public PlatformPOSIX {
4646
GetSharedModule(const lldb_private::ModuleSpec &module_spec,
4747
lldb_private::Process *process, lldb::ModuleSP &module_sp,
4848
const lldb_private::FileSpecList *module_search_paths_ptr,
49-
lldb::ModuleSP *old_module_sp_ptr,
49+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
5050
bool *did_create_ptr) override;
5151

5252
size_t GetSoftwareBreakpointTrapOpcode(
@@ -132,7 +132,7 @@ class PlatformDarwin : public PlatformPOSIX {
132132
virtual lldb_private::Status GetSharedModuleWithLocalCache(
133133
const lldb_private::ModuleSpec &module_spec, lldb::ModuleSP &module_sp,
134134
const lldb_private::FileSpecList *module_search_paths_ptr,
135-
lldb::ModuleSP *old_module_sp_ptr, bool *did_create_ptr);
135+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr);
136136

137137
struct SDKEnumeratorInfo {
138138
lldb_private::FileSpec found_path;
@@ -158,7 +158,7 @@ class PlatformDarwin : public PlatformPOSIX {
158158
const lldb_private::ModuleSpec &module_spec,
159159
lldb_private::Process *process, lldb::ModuleSP &module_sp,
160160
const lldb_private::FileSpecList *module_search_paths_ptr,
161-
lldb::ModuleSP *old_module_sp_ptr, bool *did_create_ptr);
161+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr);
162162

163163
static std::string FindComponentInPath(llvm::StringRef path,
164164
llvm::StringRef component);

lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -644,8 +644,8 @@ bool PlatformDarwinKernel::KernelHasdSYMSibling(const FileSpec &kernel_binary) {
644644

645645
Status PlatformDarwinKernel::GetSharedModule(
646646
const ModuleSpec &module_spec, Process *process, ModuleSP &module_sp,
647-
const FileSpecList *module_search_paths_ptr, ModuleSP *old_module_sp_ptr,
648-
bool *did_create_ptr) {
647+
const FileSpecList *module_search_paths_ptr,
648+
llvm::SmallVectorImpl<ModuleSP> *old_modules, bool *did_create_ptr) {
649649
Status error;
650650
module_sp.reset();
651651
const FileSpec &platform_file = module_spec.GetFileSpec();
@@ -676,7 +676,7 @@ Status PlatformDarwinKernel::GetSharedModule(
676676
// framework on macOS systems, a chance.
677677
error = PlatformDarwin::GetSharedModule(module_spec, process, module_sp,
678678
module_search_paths_ptr,
679-
old_module_sp_ptr, did_create_ptr);
679+
old_modules, did_create_ptr);
680680
if (error.Success() && module_sp.get()) {
681681
return error;
682682
}

lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class PlatformDarwinKernel : public PlatformDarwin {
5757
GetSharedModule(const lldb_private::ModuleSpec &module_spec,
5858
lldb_private::Process *process, lldb::ModuleSP &module_sp,
5959
const lldb_private::FileSpecList *module_search_paths_ptr,
60-
lldb::ModuleSP *old_module_sp_ptr,
60+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
6161
bool *did_create_ptr) override;
6262

6363
bool GetSupportedArchitectureAtIndex(uint32_t idx,

lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -292,10 +292,10 @@ lldb_private::Status PlatformMacOSX::GetSharedModule(
292292
const lldb_private::ModuleSpec &module_spec, Process *process,
293293
lldb::ModuleSP &module_sp,
294294
const lldb_private::FileSpecList *module_search_paths_ptr,
295-
lldb::ModuleSP *old_module_sp_ptr, bool *did_create_ptr) {
296-
Status error = GetSharedModuleWithLocalCache(
297-
module_spec, module_sp, module_search_paths_ptr, old_module_sp_ptr,
298-
did_create_ptr);
295+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr) {
296+
Status error = GetSharedModuleWithLocalCache(module_spec, module_sp,
297+
module_search_paths_ptr,
298+
old_modules, did_create_ptr);
299299

300300
if (module_sp) {
301301
if (module_spec.GetArchitecture().GetCore() ==
@@ -306,15 +306,16 @@ lldb_private::Status PlatformMacOSX::GetSharedModule(
306306
ModuleSpec module_spec_x86_64(module_spec);
307307
module_spec_x86_64.GetArchitecture() = ArchSpec("x86_64-apple-macosx");
308308
lldb::ModuleSP x86_64_module_sp;
309-
lldb::ModuleSP old_x86_64_module_sp;
309+
llvm::SmallVector<lldb::ModuleSP, 1> old_x86_64_modules;
310310
bool did_create = false;
311311
Status x86_64_error = GetSharedModuleWithLocalCache(
312312
module_spec_x86_64, x86_64_module_sp, module_search_paths_ptr,
313-
&old_x86_64_module_sp, &did_create);
313+
&old_x86_64_modules, &did_create);
314314
if (x86_64_module_sp && x86_64_module_sp->GetObjectFile()) {
315315
module_sp = x86_64_module_sp;
316-
if (old_module_sp_ptr)
317-
*old_module_sp_ptr = old_x86_64_module_sp;
316+
if (old_modules)
317+
old_modules->append(old_x86_64_modules.begin(),
318+
old_x86_64_modules.end());
318319
if (did_create_ptr)
319320
*did_create_ptr = did_create;
320321
return x86_64_error;
@@ -324,7 +325,9 @@ lldb_private::Status PlatformMacOSX::GetSharedModule(
324325
}
325326

326327
if (!module_sp) {
327-
error = FindBundleBinaryInExecSearchPaths (module_spec, process, module_sp, module_search_paths_ptr, old_module_sp_ptr, did_create_ptr);
328+
error = FindBundleBinaryInExecSearchPaths(module_spec, process, module_sp,
329+
module_search_paths_ptr,
330+
old_modules, did_create_ptr);
328331
}
329332
return error;
330333
}

lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class PlatformMacOSX : public PlatformDarwin {
4040
GetSharedModule(const lldb_private::ModuleSpec &module_spec,
4141
lldb_private::Process *process, lldb::ModuleSP &module_sp,
4242
const lldb_private::FileSpecList *module_search_paths_ptr,
43-
lldb::ModuleSP *old_module_sp_ptr,
43+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
4444
bool *did_create_ptr) override;
4545

4646
const char *GetDescription() override {

lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -504,8 +504,8 @@ Status PlatformRemoteDarwinDevice::GetSymbolFile(const FileSpec &platform_file,
504504

505505
Status PlatformRemoteDarwinDevice::GetSharedModule(
506506
const ModuleSpec &module_spec, Process *process, ModuleSP &module_sp,
507-
const FileSpecList *module_search_paths_ptr, ModuleSP *old_module_sp_ptr,
508-
bool *did_create_ptr) {
507+
const FileSpecList *module_search_paths_ptr,
508+
llvm::SmallVectorImpl<ModuleSP> *old_modules, bool *did_create_ptr) {
509509
// For iOS, the SDK files are all cached locally on the host system. So first
510510
// we ask for the file in the cached SDK, then we attempt to get a shared
511511
// module for the right architecture with the right UUID.
@@ -608,24 +608,25 @@ Status PlatformRemoteDarwinDevice::GetSharedModule(
608608
// This may not be an SDK-related module. Try whether we can bring in the
609609
// thing to our local cache.
610610
error = GetSharedModuleWithLocalCache(module_spec, module_sp,
611-
module_search_paths_ptr,
612-
old_module_sp_ptr, did_create_ptr);
611+
module_search_paths_ptr, old_modules,
612+
did_create_ptr);
613613
if (error.Success())
614614
return error;
615615

616616
// See if the file is present in any of the module_search_paths_ptr
617617
// directories.
618618
if (!module_sp)
619-
error = PlatformDarwin::FindBundleBinaryInExecSearchPaths (module_spec, process, module_sp,
620-
module_search_paths_ptr, old_module_sp_ptr, did_create_ptr);
619+
error = PlatformDarwin::FindBundleBinaryInExecSearchPaths(
620+
module_spec, process, module_sp, module_search_paths_ptr, old_modules,
621+
did_create_ptr);
621622

622623
if (error.Success())
623624
return error;
624625

625626
const bool always_create = false;
626-
error = ModuleList::GetSharedModule(
627-
module_spec, module_sp, module_search_paths_ptr, old_module_sp_ptr,
628-
did_create_ptr, always_create);
627+
error = ModuleList::GetSharedModule(module_spec, module_sp,
628+
module_search_paths_ptr, old_modules,
629+
did_create_ptr, always_create);
629630

630631
if (module_sp)
631632
module_sp->SetPlatformFileSpec(platform_file);

lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class PlatformRemoteDarwinDevice : public PlatformDarwin {
3838
GetSharedModule(const lldb_private::ModuleSpec &module_spec,
3939
lldb_private::Process *process, lldb::ModuleSP &module_sp,
4040
const lldb_private::FileSpecList *module_search_paths_ptr,
41-
lldb::ModuleSP *old_module_sp_ptr,
41+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
4242
bool *did_create_ptr) override;
4343

4444
void

lldb/source/Target/Platform.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -218,15 +218,14 @@ Platform::LocateExecutableScriptingResources(Target *target, Module &module,
218218
// return PlatformSP();
219219
//}
220220

221-
Status Platform::GetSharedModule(const ModuleSpec &module_spec,
222-
Process *process, ModuleSP &module_sp,
223-
const FileSpecList *module_search_paths_ptr,
224-
ModuleSP *old_module_sp_ptr,
225-
bool *did_create_ptr) {
221+
Status Platform::GetSharedModule(
222+
const ModuleSpec &module_spec, Process *process, ModuleSP &module_sp,
223+
const FileSpecList *module_search_paths_ptr,
224+
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr) {
226225
if (IsHost())
227-
return ModuleList::GetSharedModule(
228-
module_spec, module_sp, module_search_paths_ptr, old_module_sp_ptr,
229-
did_create_ptr, false);
226+
return ModuleList::GetSharedModule(module_spec, module_sp,
227+
module_search_paths_ptr, old_modules,
228+
did_create_ptr, false);
230229

231230
// Module resolver lambda.
232231
auto resolver = [&](const ModuleSpec &spec) {
@@ -239,17 +238,17 @@ Status Platform::GetSharedModule(const ModuleSpec &module_spec,
239238
resolved_spec.GetFileSpec().PrependPathComponent(
240239
m_sdk_sysroot.GetStringRef());
241240
// Try to get shared module with resolved spec.
242-
error = ModuleList::GetSharedModule(
243-
resolved_spec, module_sp, module_search_paths_ptr, old_module_sp_ptr,
244-
did_create_ptr, false);
241+
error = ModuleList::GetSharedModule(resolved_spec, module_sp,
242+
module_search_paths_ptr, old_modules,
243+
did_create_ptr, false);
245244
}
246245
// If we don't have sysroot or it didn't work then
247246
// try original module spec.
248247
if (!error.Success()) {
249248
resolved_spec = spec;
250-
error = ModuleList::GetSharedModule(
251-
resolved_spec, module_sp, module_search_paths_ptr, old_module_sp_ptr,
252-
did_create_ptr, false);
249+
error = ModuleList::GetSharedModule(resolved_spec, module_sp,
250+
module_search_paths_ptr, old_modules,
251+
did_create_ptr, false);
253252
}
254253
if (error.Success() && module_sp)
255254
module_sp->SetPlatformFileSpec(resolved_spec.GetFileSpec());

0 commit comments

Comments
 (0)