aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/constraints
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2017-04-04 19:09:15 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-04-05 15:18:52 +0200
commitd705c98773afd3d08f7c04f71263b23f3dbc98f7 (patch)
treeee9c1a3b0d45b407769ca3a5b9d6a1a98d3138b4 /src/main/java/com/google/devtools/build/lib/analysis/constraints
parente5538add58a952c1ef660e417f3f38dabf73b768 (diff)
Rephrase AbstractAttributeMapper#visitLabels such that we can avoid creating a temporary Type.LabelVisitor instance per Attribute being visited. Instead, we can now create one temporary object per visitation. Getting rid of this dimension of scaling reduces the amount of garbage created.
RELNOTES: None PiperOrigin-RevId: 152161836
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/constraints')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/constraints/ConstraintSemantics.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/ConstraintSemantics.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/ConstraintSemantics.java
index 33f7d348f6..bc24ae9862 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/ConstraintSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/ConstraintSemantics.java
@@ -823,15 +823,15 @@ public class ConstraintSemantics {
*/
private static void addSelectValuesToSet(BuildType.Selector<?> select, final Set<Label> set) {
Type<?> type = select.getOriginalType();
- LabelVisitor visitor = new LabelVisitor() {
+ LabelVisitor<?> visitor = new LabelVisitor<Object>() {
@Override
- public void visit(Label label) {
+ public void visit(Label label, Object dummy) {
set.add(label);
}
};
for (Object value : select.getEntries().values()) {
try {
- type.visitLabels(visitor, value);
+ type.visitLabels(visitor, value, /*context=*/ null);
} catch (InterruptedException ex) {
// Because the LabelVisitor does not throw InterruptedException, it should not be thrown
// by visitLabels here.