aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
Commit message (Collapse)AuthorAge
* Automated rollback of commit 24f19ec2679dd93b1ac5b06e46f3b35807d6e217.Gravatar ruperts2018-04-23
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** See: http://b/78455900 *** Original change description *** Properly report completion of shared actions with input discovery 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. RELNOTES: None PiperOrigin-RevId: 193955856
* Add the capability to register a trimming RuleTransitionFactory.Gravatar mstaib2018-04-19
| | | | | | | | | | This RuleTransitionFactory will be applied to all targets after other transitions, and is intended to be used to manually trim the configuration based on tagging of that target. This is a stopgap feature until automatic trimming of configuration can be implemented. RELNOTES: None. PiperOrigin-RevId: 193573013
* Simplify the signature of getSkylarkImportLookupFunctionForInliningGravatar shreyax2018-04-19
| | | | PiperOrigin-RevId: 193564550
* Introduce PackageErrorMessageValueGravatar mschaller2018-04-19
| | | | | | | | | | This CL introduces a new intermediate SkyValue type, PackageErrorMessageValue, to be used by RecursivePkgFunction. RecursivePkgValue will now have a direct dep on PackageErrorMessageValue rather than PackageValue. RELNOTES: None PiperOrigin-RevId: 193549158
* Introduce NestedSetStore, which persists information used for NestedSet ↵Gravatar cpeyser2018-04-19
| | | | | | serialization. PiperOrigin-RevId: 193536486
* Automated rollback of commit 559ffb7dd6578c961e775ba4901917ab8bffcb9d.Gravatar janakr2018-04-18
| | | | | | | | | | | | *** Reason for rollback *** Looks like this is using more cpu than I realized. Doesn't seem fixable short-term. This may need to be cherrypicked into the next canary if it shows up in profiling. See bug for details. *** Original change description *** Add ValueConstants helper to handle the increasingly complex logic for value-equality-tested constants. Main hurdle is efficiently testing to see if a Collection is a value constant without trying to do work on Collections that can't possibly be value constants. PiperOrigin-RevId: 193403226
* PiperOrigin-RevId: 193371485Gravatar carmi2018-04-18
|
* Automated rollback of commit 3643afad04be41caa4b247d327230e8a1e32bb6a.Gravatar carmi2018-04-17
| | | | | | | | | | | *** Reason for rollback *** Breaks //third_party/java_src/copybara/java/com/google/copybara/config:parser: [] *** Original change description *** PiperOrigin-RevId: 193292991
* PiperOrigin-RevId: 193274137Gravatar carmi2018-04-17
|
* Add ValueConstants helper to handle the increasingly complex logic for ↵Gravatar janakr2018-04-16
| | | | | | value-equality-tested constants. Main hurdle is efficiently testing to see if a Collection is a value constant without trying to do work on Collections that can't possibly be value constants. PiperOrigin-RevId: 193085625
* Introduce NestedSetCodecWithStore, which serializes NestedSet using a ↵Gravatar cpeyser2018-04-16
| | | | | | process-global bimap of fingerprints to NestedSet contents. PiperOrigin-RevId: 193063717
* PiperOrigin-RevId: 192832950Gravatar carmi2018-04-13
|
* Add DurationCodecGravatar Googler2018-04-13
| | | | | | This is required for moving --test_timeout from ExecutionOptions to BuildConfiguration.Options PiperOrigin-RevId: 192815911
* Prefix-compress strings during memoizing serialization.Gravatar janakr2018-04-12
| | | | PiperOrigin-RevId: 192662977
* Fix error handling for target pattern expansionGravatar John Cater2018-04-12
| | | | | | | | | | | | ... in register_toolchains and register_execution_platforms. Fixes #5000. Change-Id: Iac06b3cb79746ea720de8835b7bd1abb19149526 Closes #5001. PiperOrigin-RevId: 192615586
* Remove all callers of ArtifactRoot.asSourcePath from production code besides ↵Gravatar janakr2018-04-11
| | | | | | | | the ones in SkyframeExecutor, called once for each Root in the package path list. This ensures there is a single canonical ArtifactRoot for each source root. It is still the case that every Package loaded has its own Root (https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/packages/Package.java;l=287?q=Package.java), which is a waste of memory, but because of the map inside ArtifactFactory introduced in this change, all Artifacts with the same logical source root share a single ArtifactRoot instance. PiperOrigin-RevId: 192513819
* Add a toString method to BuildOptions and BuildConfigurationValue.KeyGravatar mjhalupka2018-04-11
| | | | PiperOrigin-RevId: 192479952
* Fix NPE in action graph dump.Gravatar twerth2018-04-11
| | | | | RELNOTES: None PiperOrigin-RevId: 192445971
* Make --fdo_optimize paths be PathFragment instead of Path, and remove the ↵Gravatar Googler2018-04-11
| | | | | | now unused ConfigurationEnvironment#getBlazeDirectories() PiperOrigin-RevId: 192443323
* Remove BuildConfiguration.Fragment#setupActionEnvironment().Gravatar lberki2018-04-11
| | | | | | | This is accomplished by moving it to ConfiguredRuleClassProvider. This also suggests a neat way to get rid of logic in ShellConfiguration.Loader() by moving the determination of the shell executable, there, too, but not in this change. RELNOTES: None. PiperOrigin-RevId: 192411609
* Add value constants to ObjectCodecRegistry. Value constants are to be used ↵Gravatar janakr2018-04-10
| | | | | | when there may not be a canonical instance of the object we want (or the canonical instance isn't available at registry construction time), but we can reasonably cheaply do value equality comparisons. Strings are a good example. PiperOrigin-RevId: 192354865
* Simplify AbstractSkyFunctionEnvironment to more directly call ↵Gravatar shreyax2018-04-10
| | | | | | getValueOrUntypedExceptions. PiperOrigin-RevId: 192329649
* Make some objects frequently encountered during serialization into ↵Gravatar janakr2018-04-10
| | | | | | | | constants. A lot of care is needed here because we're using reference equality. I plan to add value-equality constants in a follow-up. Add ImmutableSortedSet marshaller because I think it might have been needed, and hey, why not. PiperOrigin-RevId: 192326359
* Makes BlazeDirectories a serialization constant.Gravatar shahan2018-04-10
| | | | PiperOrigin-RevId: 192325937
* Allow codecs in ObjectCodecRegistry.Builder to be swapped out.Gravatar cpeyser2018-04-10
| | | | PiperOrigin-RevId: 192298198
* Makes the decision to memoize at the SkyValue level.Gravatar shahan2018-04-09
| | | | PiperOrigin-RevId: 192158825
* Deletes KryoGravatar shahan2018-04-09
| | | | PiperOrigin-RevId: 192155942
* Remove BuildConfiguration.Fragment#getReservedActionMnemonics() in favor of ↵Gravatar lberki2018-04-09
| | | | | | | | | encoding the same in ConfiguredRuleClassProvider. This is a step towards dumbing down BuildConfiguration.Fragment and the ConfigurationFactoryLoader, which is in needed so that we can rewrite C++/Java/Python rules in Skylark without having to introduce the concept of "configuration loader" in Skylark, too. RELNOTES: None. PiperOrigin-RevId: 192104912
* In inlined skylark import lookup function caching, don't actually fetch deps ↵Gravatar shreyax2018-04-06
| | | | | | when all we want to do is register an edge and don't require the value. PiperOrigin-RevId: 191966203
* Adds more debug logging to ArtifactFactory validation.Gravatar shahan2018-04-06
| | | | | | Blacklists vfs for DynamicCodec PiperOrigin-RevId: 191951230
* DynamicCodec emits a trail of type names when it encounters ↵Gravatar shahan2018-04-06
| | | | | | | | NoSuchCodecException. This will make it easier to trace down missing codecs. PiperOrigin-RevId: 191920743
* Move shell executable to its own configuration fragment.Gravatar lberki2018-04-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 191861074
* Properly report completion of shared actions with input discoveryGravatar hlopko2018-04-05
| | | | | | | | | | | | 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. RELNOTES: None PiperOrigin-RevId: 191849728
* Make DynamicCodec always memoize. Since it replaces Java serialization, ↵Gravatar janakr2018-04-05
| | | | | | which memoizes, we should too. PiperOrigin-RevId: 191813677
* Transform StackOverflowError thrown in ArrayCodec into ↵Gravatar janakr2018-04-05
| | | | | | SerializationException. This can happen with deep nested sets. PiperOrigin-RevId: 191790431
* Add codec for Object[]. This may be useful for NestedSetCodec, pushing up so ↵Gravatar janakr2018-04-04
| | | | | | | | that my uncommitted change chain is a little more manageable. Unfortunately we can't get rid of the array marshaller because this only handles Object[], not any other type of array. PiperOrigin-RevId: 191662535
* Save the lookup and write of the codec index when the object is memoized, as ↵Gravatar janakr2018-04-04
| | | | | | well as the NEW_VALUE/BACKREF enum write. Probably doesn't actually take much space/time, but free optimization. PiperOrigin-RevId: 191633484
* Add ObjectCodec for AtomicReference.Gravatar janakr2018-04-04
| | | | PiperOrigin-RevId: 191615301
* Replaces JavaSerializableCodec with DynamicCodec as the defaultGravatar shahan2018-04-04
| | | | | | | | | * Skylark serialization was previously dropping location in error, which this fixes. * Deletes a lot of codecs with fidelity issues (DynamicCodec has full fidelity). * Deletes EnumRuntimeCodec which can now be replaced with the superior EnumCodec. * This should eventually allow us to delete Serializable from all Blaze. The remaining blocker is NoSuchPackageExceptionCodec. PiperOrigin-RevId: 191603929
* Don't hold on to full byte array when deserializing protocol buffers.Gravatar janakr2018-04-03
| | | | PiperOrigin-RevId: 191483825
* Fix build results for aspect builds.Gravatar tomlu2018-04-03
| | | | | | | | | The current output was pretty much completely incorrect. However since the result output was always hidden for the default value of --show_result, users simply didn't see the incorrect output (instead getting no output at all). This CL fixes both the --show_result problem and makes the output correct. RELNOTES: Print correct build result for builds with --aspects flag. PiperOrigin-RevId: 191456352
* Moves the decision to enable memoization from codecs to the top-level ↵Gravatar shahan2018-04-02
| | | | | | | | invocation. Also, makes it benign to registerInitialValue when memoization is disabled. PiperOrigin-RevId: 191338253
* Add codec for ImmutableMultimap.Gravatar cpeyser2018-04-02
| | | | PiperOrigin-RevId: 191323243
* Change profiling to only accept strings for its "description" argument. ↵Gravatar janakr2018-04-01
| | | | | | Profiling can hold onto objects for the duration of the build, and some of those objects may be temporary that should not be persisted. In particular, UnixGlob and its inner classes should not outlive loading and analysis. For the most part, care was taken in this CL to only use strings that required no additional construction, mainly to minimize garbage (retaining references to newly created strings is not as great a concern since only the strings corresponding to the slowest K tasks are retained, for some relatively small values of K). Action descriptions for actually executing actions are eagerly expanded because that work is minimal compared to the work of actually executing an action. PiperOrigin-RevId: 191251488
* Remove Target from TargetPatternPhaseValue. Use the sets of targets that ↵Gravatar mjhalupka2018-03-29
| | | | | | | | would have been in TargetPatternPhaseValue to construct Postables that would use information from the TargetPatternPhaseValue. Tag TargetPhasePatternValue with @AutoCodec. PiperOrigin-RevId: 190958515
* Allow setting the value which BazelPackageLoader returns for ↵Gravatar carmi2018-03-29
| | | | | | | | | native.bazel_version. This allows it to work in workspaces that use https://github.com/bazelbuild/bazel-skylib/blob/a5e23fd4c0b766f38f80d5edf10073ce990b2fa1/lib/versions.bzl RELNOTES: None PiperOrigin-RevId: 190950709
* Allow ConfiguredTargetFunction to release its CPU-bound semaphore during dep ↵Gravatar janakr2018-03-28
| | | | | | requests if SkyframeExecutor has reason to believe that those requests may not be CPU-bound. PiperOrigin-RevId: 190844728
* Add codecs needed to fully serialize Attributes.Gravatar janakr2018-03-28
| | | | PiperOrigin-RevId: 190805577
* Remove BuildConfiguration from ConfiguredTarget.Gravatar janakr2018-03-28
| | | | PiperOrigin-RevId: 190804641
* Mark ASTFileLookupValue as a NotComparableSkyValue. See the added comments ↵Gravatar nharmata2018-03-28
| | | | | | | for motivation. RELNOTES: None PiperOrigin-RevId: 190794479