aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
Commit message (Collapse)AuthorAge
* Cache superclass traversal to find proper codec in ObjectCodecRegistry.Gravatar janakr2018-05-21
| | | | PiperOrigin-RevId: 197508159
* Remove comment about legacy package loading.Gravatar dannark2018-05-21
| | | | | RELNOTES: None PiperOrigin-RevId: 197504627
* Remove string prefix optimization. With new UnsafeJdk9StringCodec, it's no ↵Gravatar janakr2018-05-21
| | | | | | longer worth it. PiperOrigin-RevId: 197477783
* Remove ValueConstants. They're not pulling their weight in CPU overhead.Gravatar janakr2018-05-21
| | | | PiperOrigin-RevId: 197465288
* When using JDK9, replace naive StringCodec with an optimized codec that uses ↵Gravatar janakr2018-05-21
| | | | | | the String's underlying raw bytes. This avoids byte copying and UTF interpretation. Experiments show it is approximately 15(!) times faster than the naive StringCodec for serialization and 2 times faster for deserialization (10 times faster for non-ASCII strings). PiperOrigin-RevId: 197441758
* Don't construct directories when using ActionFS - these are implicit.Gravatar felly2018-05-18
| | | | PiperOrigin-RevId: 197211669
* Allows ActionFS to delegate to other file systems.Gravatar shahan2018-05-17
| | | | PiperOrigin-RevId: 197055263
* Rename BuildEventConverters to BuildEventContextGravatar ulfjack2018-05-17
| | | | | | | This is in preparation for adding options to the class, which can be used to modify the behavior of build events posted to the BEP. PiperOrigin-RevId: 196997573
* Missing space in TargetPatternPhaseValue.toString()Gravatar shahan2018-05-17
| | | | PiperOrigin-RevId: 196996468
* Makes BuildConfigurationValue.Key.toString() a bit more informative.Gravatar shahan2018-05-17
| | | | PiperOrigin-RevId: 196991801
* Rename CommandAction.getEnvironment, add AbstractAction.getEnvironmentGravatar ulfjack2018-05-17
| | | | | | | | | | | | | | | This is a cleanup to clarify the code. 1. The getEnvironment method in the CommandAction interface does not have access to the clientEnv, so it's return value is necessarily incomplete. Rename to getIncompleteEnvironmentForTesting. 2. Add a final getEnvironment method to AbstractAction, which returns the ActionEnvironment, which is intended to be a complete description of the intended final environment of the action (technically, of any spawn running within the action). This is not currently used, but is provided to prevent action subclasses to add such a method (it may be used in the future). PiperOrigin-RevId: 196991091
* In TestsInSuiteValue, replace Target member with Label. This makesGravatar cpeyser2018-05-16
| | | | | | TestsInSuiteValue serializable. PiperOrigin-RevId: 196831698
* Optimizes performance of ActionFS staging and eliminates ActionFS updates.Gravatar shahan2018-05-15
| | | | | | | | | Extracts a class, InputArtifactData to hold the input data instead of using a raw map. This provides the flexibility needed to support both ActionFS and existing code so ActionFS does not need to rekey the input data. Uses the smaller, getDeclaredIncludeSrcs instead of getAllowedDerivedInputs when possible for staging optional inputs in ActionFS. PiperOrigin-RevId: 196736703
* Change TestSuiteExpansionValue to contain Labels instead of Targets.Gravatar cpeyser2018-05-15
| | | | PiperOrigin-RevId: 196719433
* Potentially allow children of a dirty node to be missing from the graph. ↵Gravatar janakr2018-05-15
| | | | | | Also pass the GraphInconsistencyReciever into SkyframeExecutor as a parameter. PiperOrigin-RevId: 196716642
* Move --track_incremental_state and --keep_state_after_build to ↵Gravatar felly2018-05-15
| | | | | | CommonCommandOptions to better facilitate certain kinds of benchmarking. PiperOrigin-RevId: 196695342
* Add option --experimental_discard_actions_after_execution in order to turn ↵Gravatar janakr2018-05-15
| | | | | | | | it off after a release. Discarding actions hasn't been shown to have a significant positive effect on heap memory usage, after careful research by mschaller@. It's holding back other projects (threading Fileset metadata through) and adding complexity, so it's time to kill it. Out of an abundance of caution, I'll keep actions in memory via a flag flip, then, if it sticks, I'll change the default, and then I'll unwire everything. PiperOrigin-RevId: 196682768
* DynamicCodec tweaks to make it into a super fast String serializer.Gravatar shahan2018-05-14
| | | | | | (3-8x faster than StringCodec). PiperOrigin-RevId: 196615858
* Ease the configuration-related restrictions of several more tests.Gravatar mstaib2018-05-14
| | | | | | | | | Use update() and other methods which properly respect the trimming transition over those which don't. Avoid using the target configuration if the configuration actually used by a target is available. RELNOTES: None. PiperOrigin-RevId: 196588405
* Pull caching up to BuildConfigurationValue$Key$Codec. Almost all ↵Gravatar janakr2018-05-14
| | | | | | | | BuildOptions$DiffForReconstruction serializations are reached in this way, so we get better efficiency. Also, it was already a custom codec, so less new handrolling. Also use serialization framework for FragmentClassSet, instead of doing serialization directly. Default FragmentClassSet should be a constant, so it will serialize down to a byte or three. Future changes can make all the classes constants as well, if we're getting misses on them. PiperOrigin-RevId: 196546279
* Permit serialization arising from ErrorInfo#encode to wait on a future. ThisGravatar cpeyser2018-05-14
| | | | | | | | prevents Bazel from crashing on an ErrorInfo with an exception from ActionExecutionFunction, which can contain an action, and therefore contain a NestedSet. PiperOrigin-RevId: 196533301
* Use the local JDK as the default target javabaseGravatar cushon2018-05-14
| | | | | | and continue to use the embedded JDK as the default host_javabase. PiperOrigin-RevId: 196471714
* Add an IdentityHashMap to the BuildOptions.OptionsDiffForReconstruction codec.Gravatar mjhalupka2018-05-11
| | | | PiperOrigin-RevId: 196310244
* Records profiling information for ActionFS staging and updates.Gravatar shahan2018-05-11
| | | | PiperOrigin-RevId: 196266567
* Codec for FluentIterable - needed to serialize results of Iterables.concat.Gravatar shahan2018-05-10
| | | | PiperOrigin-RevId: 196127040
* Adds an action-scoped filesystem.Gravatar shahan2018-05-09
| | | | PiperOrigin-RevId: 195973862
* Replace Rule field in TestsInSuiteKey with a Label. In TestsInSuiteFunction,Gravatar cpeyser2018-05-03
| | | | | | | | | request the Package for that Label, and in that way materialize the Rule. Rule instances (which have a reference back to their Package) should not be in SkyKeys, since they are large and slow down serialization. PiperOrigin-RevId: 195294804
* Serialization of NestedSet<NestedSet> with NestedSetCodecWithStore waits onGravatar cpeyser2018-05-03
| | | | | | backend writes for inner NestedSet serialization. PiperOrigin-RevId: 195294676
* Use ConcurrentHashMap directly instead of MapMaker.Gravatar Googler2018-05-03
| | | | | RELNOTES: None. PiperOrigin-RevId: 195280015
* Consolidate fields and methods of recursive package providers into an ↵Gravatar juliexxia2018-05-03
| | | | | | abstract class. This is also helpful for the new recursive package provider I'll be adding to support recursive patterns in cquery. PiperOrigin-RevId: 195279920
* In PackageLookupValue also track the repositoryGravatar Klaus Aehlig2018-05-03
| | | | | | | | ...to distinguish files with the same name that go through a repository symlink that has changed. Change-Id: I611c15ea5a48f4b797a725785165bf5a3aba387f PiperOrigin-RevId: 195226865
* Use the in-memory metadata in blaze as the source of truth for Fileset mappingsGravatar kush2018-05-02
| | | | | | | instead of the manifest files. RELNOTES: None PiperOrigin-RevId: 195149880
* Add ArtifactFactory to the AutoRegistry blacklist.Gravatar mjhalupka2018-05-02
| | | | PiperOrigin-RevId: 195110169
* Simplify config fragment creation.Gravatar gregce2018-05-02
| | | | | | | | | Remove all unnecessesary accesses to ConfigurationEnvironment and deprecate the accesses that actually need ConfigurationEnvironment. For review, check out ConfigurationFragmentFactory first. PiperOrigin-RevId: 195099768
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-01
| | | | PiperOrigin-RevId: 195040539
* Add a codec for LinkedHashSet.Gravatar mjhalupka2018-05-01
| | | | PiperOrigin-RevId: 195002908
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-01
| | | | PiperOrigin-RevId: 194999124
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-01
| | | | PiperOrigin-RevId: 194998981
* Wire up future to wait for in NestedSetCodecWithStore.Gravatar janakr2018-04-30
| | | | PiperOrigin-RevId: 194895469
* Allow SkyFunctions to return a sentinel value indicating that all of a ↵Gravatar janakr2018-04-30
| | | | | | | | | | node's in-progress data should be forgotten, and its evaluation should be restarted from scratch, as if it were freshly created/dirtied. To guard against this happening unexpectedly, any such events are passed to a GraphInconsistencyReceiver, which can verify that the SkyFunction is behaving properly. This is the first change in a series to permit action rewinding when it is discovered that a previously generated input file is no longer available. When an action detects that one of its inputs is unusable, it can return this sentinel value, causing it to be re-evaluated from scratch. Follow-up changes will make the node corresponding to the input, and the node corresponding to the action that generated the input, dirty when this happens, causing the upstream action to be re-run, regenerating the desired input. Currently works for builds that do not keep edges, although follow-ups may make this possible for all builds. PiperOrigin-RevId: 194863097
* Add ability for serialization to inform the SerializationContext that any ↵Gravatar janakr2018-04-30
| | | | | | remote write should block on the provided future. PiperOrigin-RevId: 194836516
* Refactor NestedSet to permit alternate NestedSetStore implementations.Gravatar cpeyser2018-04-30
| | | | PiperOrigin-RevId: 194787067
* Output message when the build configuration changes.Gravatar tomlu2018-04-27
| | | | | RELNOTES: None PiperOrigin-RevId: 194607978
* Widen visibility for SkyframeExecutor.setSkylarkSemanticsGravatar mschaller2018-04-27
| | | | | | | | Allows subclasses to use different strategies for injecting Skylark semantics. RELNOTES: None. PiperOrigin-RevId: 194546199
* Allow class prefix names to be blacklisted from DynamicCodec use.Gravatar janakr2018-04-26
| | | | PiperOrigin-RevId: 194487570
* Adds support for remote files.Gravatar shahan2018-04-26
| | | | PiperOrigin-RevId: 194413337
* Fix skyframe target pattern evaluator thread usageGravatar ulfjack2018-04-26
| | | | PiperOrigin-RevId: 194387085
* Add hook to inform SkyframeExecutor that build is finished.Gravatar janakr2018-04-24
| | | | PiperOrigin-RevId: 194099006
* SourceArtifacts are interned on deserialization using an ArtifactFactory. ↵Gravatar cpeyser2018-04-24
| | | | | | This should reduce memory consumption in NestedSet deserialization, which currently does not recycle Artifact instances. PiperOrigin-RevId: 194083901
* Properly report completion of shared actions with input discoveryGravatar hlopko2018-04-24
| | | | | | | | | | | | | | Currently we report "Analyzing" when include scanning runs. But since we can have shared C++ compile actions, only one of the group will be executed and only one will be reported completed. Remaining shared actions currently stay with "analyzing" forever. This cl makes sure that these actions are properly handled when finished. This is an encore of https://github.com/bazelbuild/bazel/commit/24f19ec2679dd93b1ac5b06e46f3b35807d6e217. In this incarnation I make sure that all actions that discover inputs are consistent in reporting their Analyzing status. Originally only CppCompileAction was doing that. Apparently we have more actions that discover inputs (e.g. LtoBackendAction) but these were not reporting Analyzing and therefore crashing on preconditions. This cl makes sure that all actions discovering inputs report their analyzing status. RELNOTES: None PiperOrigin-RevId: 194066513