-
Enhancement
-
Resolution: Fixed
-
P4
-
22
-
b20
- Storing a sequence of byte constants:
a[0] = 't';
a[1] = 'r';
a[2] = 'u';
a[3] = 'e';
- Storing a int-value:
a[1] = (byte)v;
a[2] = (byte)(v >> 8 );
a[3] = (byte)(v >> 16);
a[4] = (byte)(v >> 24);
An alternative is to use Unsafe or "BALE":
UNSAFE.putIntUnaligned
ByteArrayLittleEndian.setInt
However, [~redestad] has pointed out that using ByteArrayLittleEndian can slow down initialization of the JVM, because of varHandle overheads. And we would like to avoid using Unsafe - or rather move away from it when possible.
- is blocked by
-
JDK-8319690 [AArch64] C2 compilation hits offset_ok_for_immed: assert "c2 compiler bug"
- Resolved
- relates to
-
JDK-8335390 C2 MergeStores: wrong result with Unsafe
- Resolved
-
JDK-8331311 C2: Big Endian Port of 8318446: optimize stores into primitive arrays by combining values into larger store
- Resolved
-
JDK-8331085 Crash in MergePrimitiveArrayStores::is_compatible_store()
- Closed
-
JDK-8331227 [s390] TestMergeStores.java failure after JDK-8318446
- Closed
-
JDK-8335392 C2 MergeStores: enhanced pointer parsing
- Resolved
-
JDK-8335113 C2 MergeStores: allow merging of putChar and other larger stores on smaller array elements
- Closed
-
JDK-8331252 C2: MergeStores: handle negative shift values
- Resolved
-
JDK-8331054 C2 MergeStores: assert failed: unexpected basic type after JDK-8318446 and JDK-8329555
- Closed
-
JDK-8331520 Tests should not use the "Classpath" exception form of the legal header
- Closed
-
JDK-8343629 More MergeStore benchmark
- Open
-
JDK-8334342 Add MergeStore JMH benchmarks
- Resolved