Primitive boolean array packing
Aleksey Shipilev
shade at redhat.com
Sun Oct 7 08:01:47 UTC 2018
On 10/07/2018 12:05 AM, B. Blaser wrote:
> I didn't search much if such experiments have already been
> accomplished, but I'd like to take the temperature of this feature as
> completing the implementation represents a significant amount of work.
> Is this something that is worth exploring?
The most problematic part, in my mind, is that JMM requires the absence of word tearing for array
element accesses. See here: https://shipilev.net/blog/2014/jmm-pragmatics/#_part_ii_word_tearing
With densely packed boolean[], you'd need to convert plain stores to locked/CAS-loops to support
this, I think, which raises all sorts of performance questions. Choosing between boolean[] and
BitSet is basically choosing between stricter/relaxed concurrency guarantees vs dense/sparse footprint.
-Aleksey
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20181007/8b128dbb/signature-0001.asc>
More information about the compiler-dev
mailing list