RFR: 8314571: GrowableArray should move its old data and not copy it
Johan Sjölen
jsjolen at openjdk.org
Fri Aug 18 16:15:25 UTC 2023
On Fri, 18 Aug 2023 10:39:28 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
> Given some `GrowableArray<E>` where `E` is non-copyable with a move constructor will currently fail to compile. This is because `GrowableArray`'s expand and shrink calls the copy constructor. We cast the values to rvalues (akin to `std::move`) to instead call the move constructor if available. If there is no move constructor but there is a copy constructor, then that will be called instead.
Passes tier1, tier2.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15344#issuecomment-1684138167
More information about the hotspot-dev
mailing list