diff options
author | 2016-07-25 15:36:55 +0000 | |
---|---|---|
committer | 2016-07-26 09:30:04 +0000 | |
commit | 7cf2460a0c2908938f75b5284c0d8e2a0a48e1dc (patch) | |
tree | 22cc427a3e6a1817c121334aa5fd2f8d442e7366 | |
parent | 15775b24db1f0fea316e49a1e2d177e44cd4069d (diff) |
Call precomputed() on static CharMatcher instances.
Removes a noticeable hotspot from LabelValidator.validateTargetName().
--
MOS_MIGRATED_REVID=128359980
3 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/LabelExpander.java b/src/main/java/com/google/devtools/build/lib/analysis/LabelExpander.java index f067ddb073..5873b4df0d 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/LabelExpander.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/LabelExpander.java @@ -63,7 +63,8 @@ public final class LabelExpander { CharMatcher.inRange('a', 'z') .or(CharMatcher.inRange('A', 'Z')) .or(CharMatcher.inRange('0', '9')) - .or(CharMatcher.anyOf(":/_.-+" + PathFragment.SEPARATOR_CHAR)); + .or(CharMatcher.anyOf(":/_.-+" + PathFragment.SEPARATOR_CHAR)) + .precomputed(); /** * Expands all references to labels embedded within a string using the diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/LabelValidator.java b/src/main/java/com/google/devtools/build/lib/cmdline/LabelValidator.java index 42510c7f56..e9c0db32cd 100644 --- a/src/main/java/com/google/devtools/build/lib/cmdline/LabelValidator.java +++ b/src/main/java/com/google/devtools/build/lib/cmdline/LabelValidator.java @@ -48,7 +48,8 @@ public final class LabelValidator { private static final CharMatcher ALWAYS_ALLOWED_TARGET_CHARACTERS = CharMatcher.javaLetterOrDigit() .or(PUNCTUATION_REQUIRING_QUOTING) - .or(PUNCTUATION_NOT_REQUIRING_QUOTING); + .or(PUNCTUATION_NOT_REQUIRING_QUOTING) + .precomputed(); @VisibleForTesting static final String PACKAGE_NAME_ERROR = diff --git a/src/main/java/com/google/devtools/build/lib/util/ShellEscaper.java b/src/main/java/com/google/devtools/build/lib/util/ShellEscaper.java index 48d311f2b8..0548d5f733 100644 --- a/src/main/java/com/google/devtools/build/lib/util/ShellEscaper.java +++ b/src/main/java/com/google/devtools/build/lib/util/ShellEscaper.java @@ -62,7 +62,8 @@ public final class ShellEscaper extends Escaper { CharMatcher.anyOf("@%-_+:,./") .or(CharMatcher.inRange('0', '9')) // We can't use CharMatcher.javaLetterOrDigit(), .or(CharMatcher.inRange('a', 'z')) // that would also accept non-ASCII digits and - .or(CharMatcher.inRange('A', 'Z')); // letters. + .or(CharMatcher.inRange('A', 'Z')) // letters. + .precomputed(); /** * Escapes a string by adding strong (single) quotes around it if necessary. |