Clear Token in field builder after use

When compiling dart2js this cuts down the old generation
(after forced GC, VM kernel isolate) from ~230 MB to ~217 MB.

Change-Id: Id06a2666d1849e49acc18c4142ab346f581e5b23
Reviewed-on: https://dart-review.googlesource.com/67520
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
This commit is contained in:
Jens Johansen 2018-08-02 12:44:02 +00:00
parent ea0468dff4
commit 4c75b49b3f

View file

@ -35,7 +35,7 @@ class KernelFieldBuilder extends FieldBuilder<Expression> {
final ShadowField field;
final List<MetadataBuilder> metadata;
final KernelTypeBuilder type;
final Token initializerTokenForInference;
Token initializerTokenForInference;
final bool hasInitializer;
KernelFieldBuilder(
@ -101,6 +101,7 @@ class KernelFieldBuilder extends FieldBuilder<Expression> {
initializer = new KernelBodyBuilder.forField(this, typeInferrer)
.parseFieldInitializer(initializerTokenForInference);
}
initializerTokenForInference = null;
}
@override