[OpenJDK 2D-Dev] RFR: 8271603: Unnecessary Vector usage in java.desktop [v4]
serb at openjdk.java.net
Fri Aug 27 18:32:28 UTC 2021
On Fri, 27 Aug 2021 17:52:19 GMT, Andrey Turbanov <github.com+741251+turbanoff at openjdk.org> wrote:
>> src/java.desktop/share/classes/javax/swing/JMenu.java line 1340:
>>> 1338: }
>>> 1339: MenuElement me = new MenuElement[elements.size()];
>>> 1340: elements.toArray(me);
>> Implementation of the "toArray()" is not equivalent of "copyInto()". Maybe no-arg "return elements.toArray()" will look better. Same comment about other removed usage of copyInto
> Can you please elaborate?
> As I can see if size of array is exactly the same as size of vector/arraylist, implementations are similar - they just call System.arraycopy
To confirm this you need to do the same check on every usage of added toArray(), the simpler version like "return toArray()" or return toArray(new MenuElement[elements.size()]) is simpler, no need to check something. I guess in some previouse fixes it was confirmed that the "return toArray(new MenuElement)" is even faster.
More information about the 2d-dev