diff options
author | 2017-05-02 14:23:36 +0200 | |
---|---|---|
committer | 2017-05-02 15:44:33 +0200 | |
commit | 7beadb7277453efec7e12b925005e7f0e003b592 (patch) | |
tree | ab5ebab351566289fb5f0f1f44023c8b038f40e9 /src/main/java/com/google/devtools/build/lib/rules/cpp | |
parent | adb15a606e42dc4feac03353c8b2587c5d3c78c6 (diff) |
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: 154821457
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp')
4 files changed, 4 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java index 1b1884ce8d..74d1d3cdb0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java @@ -110,8 +110,6 @@ public class CppCompileAction extends AbstractAction } }; - private static final PathFragment BUILD_PATH_FRAGMENT = PathFragment.create("BUILD"); - private static final int VALIDATION_DEBUG = 0; // 0==none, 1==warns/errors, 2==all private static final boolean VALIDATION_DEBUG_WARN = VALIDATION_DEBUG >= 1; @@ -950,7 +948,7 @@ public class CppCompileAction extends AbstractAction // Still not found: see if it is in a subdir of a declared package. Path root = input.getRoot().getPath(); for (Path dir = input.getPath().getParentDirectory();;) { - if (dir.getRelative(BUILD_PATH_FRAGMENT).exists()) { + if (dir.getRelative("BUILD").exists()) { return false; // Bad: this is a sub-package, not a subdir of a declared package. } dir = dir.getParentDirectory(); diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java index 333361f193..693970c42e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java @@ -477,7 +477,7 @@ public class CppCompileActionBuilder { continue; } // One starting ../ is okay for getting to a sibling repository. - if (include.startsWith(Label.EXTERNAL_PATH_PREFIX)) { + if (include.startsWith(PathFragment.create(Label.EXTERNAL_PATH_PREFIX))) { include = include.relativeTo(Label.EXTERNAL_PATH_PREFIX); } if (include.isAbsolute() diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java index aa719c80ed..41afb816ff 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java @@ -60,8 +60,6 @@ import javax.annotation.Nullable; * <p>This class can be used only after the loading phase. */ public class CppHelper { - static final PathFragment OBJS = PathFragment.create("_objs"); - private static final String GREPPED_INCLUDES_SUFFIX = ".includes"; // TODO(bazel-team): should this use Link.SHARED_LIBRARY_FILETYPES? @@ -285,7 +283,7 @@ public class CppHelper { * Returns the directory where object files are created. */ public static PathFragment getObjDirectory(Label ruleLabel) { - return AnalysisUtils.getUniqueDirectory(ruleLabel, OBJS); + return AnalysisUtils.getUniqueDirectory(ruleLabel, PathFragment.create("_objs")); } /** diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java index 0c640ff818..b2a67113f8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java @@ -952,7 +952,7 @@ public class CppLinkActionBuilder { PathFragment stampOutputDirectory = outputBinaryPath .getParentDirectory() - .getRelative(CppHelper.OBJS) + .getRelative("_objs") .getRelative(outputBinaryPath.getBaseName()); for (Artifact linkstamp : linkstamps) { |