aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2017-05-02 18:16:23 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-03 10:56:14 +0200
commit5e924aff704b68f5b02c47672e4ac217c7376cf2 (patch)
tree22fa87938eb2bbc2592ddc983aee6b6c6d475222 /src/main/java/com/google/devtools/build/lib/rules/objc
parent08718159ed47ee689c62d9974583f4d1680c7cdc (diff)
Automated g4 rollback of commit 7beadb7277453efec7e12b925005e7f0e003b592.
*** Reason for rollback *** Original CL was rolled backed incorrectly. See post-submit discussion on http://https://github.com/bazelbuild/bazel/commit/7beadb7277453efec7e12b925005e7f0e003b592. *** Original change description *** Automated g4 rollback of commit 38b835097f9ae9a6062172b8a33ec2e2d1edde20. *** Reason for rollback *** Breaking Bazel build on linux, see http://ci.bazel.io/job/bazel-tests/733/ Repro: bazel build //src/test/java/com/google/devtools/build/lib:packages_test Found by bisecting. *** Original change description *** Only allocate some formerly frequently allocated PathFragment objects once. This reduces both gc churn and retained memory usage. RELNOTES: None PiperOrigin-RevId: 154839279
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
index 8de811fe03..ba324e670d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
@@ -34,6 +34,8 @@ import com.google.devtools.build.lib.vfs.PathFragment;
// TODO(bazel-team): This should really be named DerivedArtifacts as it contains methods for
// final as well as intermediate artifacts.
public final class IntermediateArtifacts {
+ private static final PathFragment OBJS = PathFragment.create("_objs");
+
static final String LINKMAP_SUFFIX = ".linkmap";
/**
@@ -275,8 +277,7 @@ public final class IntermediateArtifacts {
}
private Artifact inUniqueObjsDir(Artifact source, String extension) {
- PathFragment uniqueDir =
- PathFragment.create("_objs").getRelative(ruleContext.getLabel().getName());
+ PathFragment uniqueDir = OBJS.getRelative(ruleContext.getLabel().getName());
PathFragment sourceFile = uniqueDir.getRelative(source.getRootRelativePath());
PathFragment scopeRelativePath = FileSystemUtils.replaceExtension(sourceFile, extension);
return scopedArtifact(scopeRelativePath);