Skip to content

Commit

Permalink
Optimize setup / handling of dependencies a bit
Browse files Browse the repository at this point in the history
- deHLLize setting up of the dependencies
  • Loading branch information
lizmat committed Mar 13, 2020
1 parent 5ea1c34 commit 2a58eb3
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions src/core.c/CompUnit/PrecompilationRepository.pm6
Expand Up @@ -160,7 +160,7 @@ Need to re-check dependencies.")

$resolve := False unless $!RRD;

my @dependencies;
my $dependencies := nqp::create(IterationBuffer);
for $precomp-unit.dependencies -> $dependency {
$!RMD("dependency: $dependency")
if $!RMD;
Expand All @@ -187,7 +187,7 @@ Need to re-check dependencies.")
}
}

my $dependency-precomp = @precomp-stores
my $dependency-precomp := @precomp-stores
.map({ $_.load-unit($compiler-id, $dependency.id) })
.first(*.defined)
or do {
Expand All @@ -202,16 +202,15 @@ Need to re-check dependencies.")
return False;
}

@dependencies.push: $dependency-precomp;
nqp::push($dependencies,$dependency-precomp);
}

$loaded-lock.protect: {
for @dependencies -> $dependency-precomp {
nqp::bindkey(
$loaded,
$dependency-precomp.id.Str,
for $dependencies.List -> $dependency-precomp {
my str $key = $dependency-precomp.id.Str;
nqp::bindkey($loaded,$key,
self!load-handle-for-path($dependency-precomp)
) unless nqp::existskey($loaded,$dependency-precomp.id.Str);
) unless nqp::existskey($loaded,$key);

$dependency-precomp.close;
}
Expand Down

0 comments on commit 2a58eb3

Please sign in to comment.