| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Remove DirtyKeyTracker and inflight node tracking as independent
progress tracking bits of code, and instead use an internal-facing
DirtyTrackingProgressReceiver wrapper of the user's
EvaluationProgressReceiver.
--
MOS_MIGRATED_REVID=135291924
|
|
|
|
|
|
|
|
|
|
| |
EvaluationProgressReceiver objects have two common naming schemes
currently, and calling them invalidationReceiver is misleading, so to
make the naming convention standard, all object names are based on
"progressReceiver."
--
MOS_MIGRATED_REVID=134411011
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=133714902
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=132999234
|
|
|
|
|
|
|
| |
The only place we now don't handle InterruptedException is in the action graph created after analysis, since I'm not sure that will be around for that much longer.
--
MOS_MIGRATED_REVID=130327770
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=129895423
|
|
|
|
|
|
|
| |
parameters conveying the requesting node (if any), the requested node(s), as well as a reason for the skyframe graph lookup. Alternate graph implementations may be interested in this information.
--
MOS_MIGRATED_REVID=128496089
|
|
|
|
|
|
|
| |
interfaces, in preparation for further changes.
--
MOS_MIGRATED_REVID=126924789
|
|
|
|
|
|
|
| |
functionality was only used in tests.
--
MOS_MIGRATED_REVID=124841573
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=123347295
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we batch-prefetch the nodes, there is no reason to delay this
check until the async Runnable runs, since we have more debugging
information this way.
--
Change-Id: Ic73d99ed8de184ba1e29f0dee5375f5d45b5379d
Reviewed-on: https://bazel-review.googlesource.com/3680
MOS_MIGRATED_REVID=123018542
|
|
|
|
|
|
|
| |
conversion is unnecessary and wasteful. In the remaining cases, the set conversion can be explicit.
--
MOS_MIGRATED_REVID=122294939
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113313675
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
|
|
|
| |
Reduces the number of allocations during invalidation. Has a magnified
effect when optional support for interruptibility is turned off.
--
MOS_MIGRATED_REVID=108978068
|
|
|
|
|
|
|
| |
Reduces the amount of work needed when interruptibility isn't needed.
--
MOS_MIGRATED_REVID=108611609
|
|
|
|
|
|
|
| |
Reduces garbage generated during array resizing.
--
MOS_MIGRATED_REVID=108528430
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108266475
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than retrieve and process the reverse deps of an invalidated
node one at a time, batch request the set of reverse deps and then
process each of them.
This reduces the overhead of requesting values from the graph.
--
MOS_MIGRATED_REVID=108062933
|
|
|
|
|
|
|
|
|
|
| |
The thread that succeeds at marking a node dirty during invalidation
must then schedule that node's reverse deps for invalidation. Providing
the set of reverse deps as a return value from marking a node dirty
makes some future optimizations possible.
--
MOS_MIGRATED_REVID=108045473
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=107974602
|
|
|
|
|
|
|
|
|
|
| |
Changes InvalidatingNodeVisitor's use of AbstractQueueVisitor from
inheritance to composition. This allows it to vary its executor
implementation. A ForkJoinPool-specialized implementation option is
provided.
--
MOS_MIGRATED_REVID=106960011
|
|
|
|
|
|
|
|
|
|
| |
Changes the AbstractQueueVisitor strategy for varying its response to
unhandled exceptions from inheritance to composition. This will help
with a forthcoming switch from inheritance to delegation for
ValueVisitor's use of AbstractQueueVisitor.
--
MOS_MIGRATED_REVID=106730708
|
|
|
|
|
|
|
|
|
|
|
|
| |
This interface (mostly) encapsulates what the ValueVisitor expects
from the AbstractQueueVisitor class it currently inherits from. This
makes it easier for a future CL to change ValueVisitor's strategy of
code reuse from inheritance to composition.
RELNOTES:
--
MOS_MIGRATED_REVID=106728863
|
|
|
|
|
|
|
| |
RELNOTES: None
--
MOS_MIGRATED_REVID=105787681
|
|
|
|
|
|
|
| |
Previously, only ThreadPoolExecutor implementations were allowed.
--
MOS_MIGRATED_REVID=105340237
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104250152
|
|
|
|
|
|
|
|
|
|
|
| |
The headers were modified with
`find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'`
And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan.
The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand.
--
MOS_MIGRATED_REVID=103938715
|
|
|
|
|
|
|
| |
avoid mutating the deps of nodes that are still going to be deps after evaluation is finished.
--
MOS_MIGRATED_REVID=103659429
|
|
|
|
|
|
|
| |
we do in ParallelEvaluator.
--
MOS_MIGRATED_REVID=103031770
|
|
|
|
|
|
|
|
|
| |
to interrupt evaluation in constant time.
Some ParallelEvaluator tests that implicitly relied on cleaning happening before the next evaluation were moved into MemoizingEvaluatorTest as a result.
--
MOS_MIGRATED_REVID=102696653
|
|
|
|
|
|
|
|
|
|
|
| |
This CL introduces a ThinNodeEntry, which is a NodeEntry without the
means of accessing its value. The InvalidatingNodeVisitor does not
need to access nodes' values while doing its work, so it is provided
with a ThinNodeQueryableGraph, capable of producing only
ThinNodeEntries.
--
MOS_MIGRATED_REVID=102088111
|
|
|
|
|
|
|
| |
can log timing information if they wish.
--
MOS_MIGRATED_REVID=100712340
|
|
|
|
|
|
|
|
| |
The invalidator is no longer using the SkyValue, so there's no need
to return it when dirtying a node.
--
MOS_MIGRATED_REVID=100307211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The primary user of invalidation tracking is the SkyframeBuildView,
which monitored which ConfiguredTargetValues were invalidated. It
did that so the SkyframeExecutor could limit its search for artifact
conflicts to when the set of configured targets in the build changed.
For the newly introduced set of dirtied keys,
"dirtiedConfiguredTargetKeys" in SkyframeBuildView, to be as useful as
the "dirtyConfiguredTargets" set it replaced, the
ConfiguredTargetValueInvalidationReceiver must only remove a key from
the set if it was found to be clean when it was re-evaluated. If it
was rebuilt, then the key must stay in the set, to represent that the
set of configured target values has truly changed.
This CL introduces a semantic change that hopefully has a small effect,
if any. Previously, the informInvalidationReceiver method in
InvalidatingNodeVisitor only informed the invalidationReceiver when a
non-null value was invalidated. (This is usually, but not always,
equivalent to a non-error value. The uncommon exception is that in
keep-going builds, some nodes with errors may also have values, and
the invalidator would inform the receiver when such a node was
invalidated.) Now, the receiver is informed that a node is invalidated
regardless of whether its value is null. Because the receiver uses this
information to determine whether artifact conflict search has to be
rerun, and that search is expensive, it's possible this change will
negatively impact performance. However, the only way an extra search
could be invoked is if the invalidated configured target nodes are
all in error. That seems like it would happen rarely, if at all.
Further cleanup of unused SkyValues returned by markDirty to come in
a subsequent CL.
--
MOS_MIGRATED_REVID=100304744
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99961435
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99411089
|
|
|
|
|
|
|
| |
mismatch.
--
MOS_MIGRATED_REVID=98388239
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=97022077
|
|
--
MOE_MIGRATED_REVID=85702957
|