RFR: JDK-8282798 java.lang.runtime.Carrier [v17]

ExE Boss duke at openjdk.java.net
Tue Mar 29 14:03:52 UTC 2022


On Tue, 29 Mar 2022 13:49:37 GMT, Jim Laskey <jlaskey at openjdk.org> wrote:

>> We propose to provide a runtime anonymous carrier class object generator; java.lang.runtime.Carrier. This generator class is designed to share anonymous classes when shapes are similar. For example, if several clients require objects containing two integer fields, then Carrier will ensure that each client generates carrier objects using the same underlying anonymous class. 
>> 
>> See JBS for details.
>
> Jim Laskey has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add condy static methods

src/java.base/share/classes/java/lang/runtime/Carrier.java line 335:

> 333:             CarrierArray(int primitiveCount, int objectCount) {
> 334:                 this.primitives =
> 335:                     primitiveCount != 0 ? new long[(primitiveCount + 1) / 2] : null;

It might be better to use an unsigned shift here:
Suggestion:

                    primitiveCount != 0 ? new long[(primitiveCount + 1) >>> 1] : null;

-------------

PR: https://git.openjdk.java.net/jdk/pull/7744


More information about the core-libs-dev mailing list