Skip to content

Commit 28af1cf

Browse files
committed
[Java] Don't repeat lookup of limit when wrapping a group.
1 parent 19801c9 commit 28af1cf

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -368,11 +368,12 @@ private void generateGroupDecoderClassHeader(
368368
indent + " {\n" +
369369
indent + " this.buffer = buffer;\n" +
370370
indent + " }\n" +
371-
indent + " dimensions.wrap(buffer, parentMessage.limit());\n" +
371+
indent + " final int limit = parentMessage.limit();\n" +
372+
indent + " dimensions.wrap(buffer, limit);\n" +
372373
indent + " blockLength = (int)dimensions.blockLength();\n" +
373374
indent + " count = (int)dimensions.numInGroup();\n" +
374375
indent + " index = -1;\n" +
375-
indent + " parentMessage.limit(parentMessage.limit() + HEADER_SIZE);\n" +
376+
indent + " parentMessage.limit(limit + HEADER_SIZE);\n" +
376377
indent + " }\n\n",
377378
readOnlyBuffer));
378379

@@ -468,12 +469,13 @@ private void generateGroupEncoderClassHeader(
468469
ind + " {\n" +
469470
ind + " this.buffer = buffer;\n" +
470471
ind + " }\n\n" +
471-
ind + " dimensions.wrap(buffer, parentMessage.limit());\n" +
472+
ind + " final int limit = parentMessage.limit();\n" +
473+
ind + " dimensions.wrap(buffer, limit);\n" +
472474
ind + " dimensions.blockLength((%5$s)%6$d);\n" +
473475
ind + " dimensions.numInGroup((%7$s)count);\n" +
474476
ind + " index = -1;\n" +
475477
ind + " this.count = count;\n" +
476-
ind + " parentMessage.limit(parentMessage.limit() + HEADER_SIZE);\n" +
478+
ind + " parentMessage.limit(limit + HEADER_SIZE);\n" +
477479
ind + " }\n\n",
478480
parentMessageClassName,
479481
mutableBuffer,

0 commit comments

Comments
 (0)