From 2094289256798df81d77426ddbbd8c63786c48c8 Mon Sep 17 00:00:00 2001 From: Martin Dindoffer Date: Mon, 6 Jun 2022 17:48:06 +0200 Subject: [PATCH] Avoid duplicate bitwise operations when reading primitive list pointers --- runtime/src/main/java/org/capnproto/WireHelpers.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/src/main/java/org/capnproto/WireHelpers.java b/runtime/src/main/java/org/capnproto/WireHelpers.java index 2c4f984..8192f77 100644 --- a/runtime/src/main/java/org/capnproto/WireHelpers.java +++ b/runtime/src/main/java/org/capnproto/WireHelpers.java @@ -1297,8 +1297,8 @@ final class WireHelpers { //# lists can also be interpreted as struct lists. We //# need to compute the data size and pointer count for //# such structs. - int dataSize = ElementSize.dataBitsPerElement(ListPointer.elementSize(resolved.ref)); - int pointerCount = ElementSize.pointersPerElement(ListPointer.elementSize(resolved.ref)); + int dataSize = ElementSize.dataBitsPerElement(elementSize); + int pointerCount = ElementSize.pointersPerElement(elementSize); int elementCount = ListPointer.elementCount(resolved.ref); int step = dataSize + pointerCount * Constants.BITS_PER_POINTER; @@ -1337,7 +1337,7 @@ final class WireHelpers { return factory.constructReader(resolved.segment, capTable, resolved.ptr * Constants.BYTES_PER_WORD, - ListPointer.elementCount(resolved.ref), + elementCount, step, dataSize, (short)pointerCount,