From 1a29f8ce3e71a80128c22c5e99ee41ebf829172b Mon Sep 17 00:00:00 2001 From: Vladimir Danilov Date: Fri, 21 Feb 2020 19:51:11 +0300 Subject: [PATCH] Eliminated garbage produced in appendTo for set-based fields to allow full GC-free logging of decoders (cherry picked from commit c011057411efae1bef62a49f39612f042b186c54) --- .../uk/co/real_logic/sbe/generation/java/JavaGenerator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java index 92e782b73c..2a038dff9d 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java @@ -3393,10 +3393,13 @@ private int writeTokenDisplay( break; case BEGIN_ENUM: - case BEGIN_SET: append(sb, indent, "builder.append(" + fieldName + "());"); break; + case BEGIN_SET: + append(sb, indent, fieldName + "().appendTo(builder);"); + break; + case BEGIN_COMPOSITE: { final String typeName = formatClassName(decoderName(typeToken.applicableTypeName()));