RFR: 8314571: GrowableArray should move its old data and not copy it
Quan Anh Mai
qamai at openjdk.org
Sun Aug 20 06:14:31 UTC 2023
On Sat, 19 Aug 2023 23:42:32 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
>> src/hotspot/share/utilities/growableArray.hpp line 545:
>>
>>> 543: if (len > 0) {
>>> 544: new_data = static_cast<Derived*>(this)->allocate();
>>> 545: for (int i = 0; i < len; ++i) ::new (&new_data[i]) E(static_cast<E&&>(old_data[i]));
>>
>> Why not use `std::move`? Thanks.
>
> Hi, in short: Yes, I believe that I can switch and that `std::move` is better.
>
> In long: I can't find any mention of `std::move` not being allowed in the style guide, using it seems to be in the same spirit as other std library usage (`#include <new>` for example) and since it is just a better version of what I wrote here let's do the switch.
I believe "Rvalue references and move semantics" falls under the "Undecided Features" category.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15344#discussion_r1299310750
More information about the hotspot-dev
mailing list