diff options
author | janakr <janakr@google.com> | 2018-03-21 17:10:27 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-21 17:11:39 -0700 |
commit | 2410e1ab3e035382abe519003c618271a69a7b8e (patch) | |
tree | d39cc4379b69b2371efc2f093ed0482b3a5254fa /src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java | |
parent | 0f5679ef95611e457a6e39313cf88feac8b2278f (diff) |
Clean up unnecessary "additional data" from memoizing deserialization. Since memoization is now a simple on-off switch, change semantics to have at most one memoizing frame: starting memoization is now an idempotent operation.
PiperOrigin-RevId: 189993914
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java index dd4706ab15..2ba6d9b2c2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecUtil.java @@ -37,9 +37,9 @@ import javax.lang.model.type.TypeMirror; /** Static utilities for AutoCodec processors. */ class AutoCodecUtil { // Synthesized classes will have `_AutoCodec` suffix added. - public static final String GENERATED_CLASS_NAME_SUFFIX = "AutoCodec"; + private static final String GENERATED_CLASS_NAME_SUFFIX = "AutoCodec"; static final Class<AutoCodec> ANNOTATION = AutoCodec.class; - static final String MUTABILITY_VARIABLE_NAME = "mutabilityForMemoizeAdditionalData"; + /** * Initializes a builder for a class of the appropriate type. * @@ -84,7 +84,7 @@ class AutoCodecUtil { .addParameter(TypeName.get(env.getTypeUtils().erasure(encodedType.asType())), "input") .addParameter(CodedOutputStream.class, "codedOut"); if (startMemoizing) { - builder.addStatement("context = context.newMemoizingContext()"); + builder.addStatement("context = context.getMemoizingContext()"); } return builder; } @@ -107,14 +107,7 @@ class AutoCodecUtil { .addParameter(DeserializationContext.class, "context") .addParameter(CodedInputStream.class, "codedIn"); if (startMemoizing) { - // We can't directly use the Mutability class here because there are @AutoCodec'ed classes - // that Mutability depends on. Those classes won't start memoization, of course, but the code - // generator doesn't know that. - builder.addStatement( - "com.google.devtools.build.lib.syntax.Mutability $L = " - + "com.google.devtools.build.lib.syntax.Mutability.create(\"deserialize skylark\")", - MUTABILITY_VARIABLE_NAME); - builder.addStatement("context = context.newMemoizingContext($L)", MUTABILITY_VARIABLE_NAME); + builder.addStatement("context = context.getMemoizingContext()"); } return builder; } |