aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2017-05-01 17:37:46 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-02 11:25:35 +0200
commit38b835097f9ae9a6062172b8a33ec2e2d1edde20 (patch)
treeddd5ac16ff3470bdc39193dd6b69fcab6de0ab5a /src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
parent2b49f678a7dfaf27afc0e44ed7a65b00ec06d413 (diff)
Only allocate some formerly frequently allocated PathFragment objects once.
This reduces both gc churn and retained memory usage. PiperOrigin-RevId: 154718782
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
index 5ed0e55e5c..79f6a41679 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
@@ -43,32 +43,32 @@ public abstract class PackageLookupValue implements SkyValue {
WORKSPACE("WORKSPACE") {
@Override
public PathFragment getBuildFileFragment(PackageIdentifier packageIdentifier) {
- return PathFragment.create(BuildFileName.WORKSPACE.getFilename());
+ return getFilenameFragment();
}
},
BUILD("BUILD") {
@Override
public PathFragment getBuildFileFragment(PackageIdentifier packageIdentifier) {
- return packageIdentifier.getPackageFragment().getChild(getFilename());
+ return packageIdentifier.getPackageFragment().getRelative(getFilenameFragment());
}
},
BUILD_DOT_BAZEL("BUILD.bazel") {
@Override
public PathFragment getBuildFileFragment(PackageIdentifier packageIdentifier) {
- return packageIdentifier.getPackageFragment().getChild(getFilename());
+ return packageIdentifier.getPackageFragment().getRelative(getFilenameFragment());
}
};
private static final BuildFileName[] VALUES = BuildFileName.values();
- private final String filename;
+ private final PathFragment filenameFragment;
private BuildFileName(String filename) {
- this.filename = filename;
+ this.filenameFragment = PathFragment.create(filename);
}
- public String getFilename() {
- return filename;
+ public PathFragment getFilenameFragment() {
+ return filenameFragment;
}
/**