[aarch64-port-dev ] Freeze aarch64/jdk8

Andrew Dinn adinn at redhat.com
Thu Feb 25 11:53:23 UTC 2016


On 25/02/16 11:37, Andrew Dinn wrote:
> I'm in the process of backporting all missing jdk8 hotspot patches into
> jdk8u. Unfortunately, one of the patches applied cleanly but made the
> changes in the wrong place (all those 0x1f and 0x3f substitutions for
> shifts were carefully misaligned by hg patch into the wrong cases). I
> have just started testing a newly patched build which corrects for this
> failure.

I have successfully backported all the jdk8 hotspot patches which were
not yet included in jdk8u. It seemed appropriate for all of them to go
in (including test fixes). The list of patches is included below. It's
basically everything from aarch64/jdk hotspot revision 8559 to revision
8590 excluding revision 8577 which had already been cherry-picked for
prior inclusion.

All patches were created by exporting the jdk8u revision. I only had two
problems, applying revisions 8571 (more32bitshifts.patch) and 8576
(largecodecache.patch). Both were caused by the out of order
cherry-pick. I tweaked both cases by hand and diffed with the
corresponding version and with head to make sure that we ended up with
the correct code.

The resulting jdk8u tree builds and runs these basic smoke tests

  java Hello
  javac Hello.java
  netbeans (edit, build and run sample project)

Shall I push these changes now? Or do you want to vet some of the patches?

regards,


Andrew Dinn
-----------

Patches Backported from jdk8 to jdk8u
[listed in order of application]


8134322.patch
revid: 8559
Fix several errors in C2 biased locking implementation


8136524.patch
revid: 8560
test/compiler/runtime/7196199/Test7196199.java fails


8136596.patch
revid: 8561
Remove MemBarRelease when final field's allocation is NoEscape or ArgEscape


8136615.patch
revid: 8562
elide DecodeN when followed by CmpP 0


8136165.patch
revid: 8563
Tidy up compiled native calls


8138641.patch
revid: 8564
Disable C2 peephole by default for aarch64


8138575.patch
revid: 8565
Improve generated code for profile counters


8139674.patch
revid: 8566
guarantee failure in TestOptionsWithRanges.java


8131645.patch
revid:
crash on Cavium when using G1


volcas.patch
revid: 8568
Backport optimization of volatile puts/gets and CAS to use ldar/stlr


8131645-correction.patch
revid: 8569
Fix thinko when backporting 8131645. Table ends up being allocated twice.


8140611.patch
revid: 8570
jtreg test jdk/tools/pack200/UnpackerMemoryTest.java SEGVs


more32bitshifts.patch
revid: 8571
Some 32 bit shifts still being anded with 0x3f instead of 0x1f.

Applied without reporting an error but all the offsets got shifted
causing 0x1f and 0x3f to be substituted in the wrong places. Had to
redo this part of the patch by hand until it looked like the jdk8
version. Also, checked by eyeball that all L instructions used 0x3f
and all I instructions used 0x1f.

8135157.patch
revid: 8572
DMB elimination in AArch64 C2 synchronization implementation


8138966.patch
revid: 8573
Intermittent SEGV running ParallelGC


8143067.patch
revid: 8574
guarantee failure in javac



8143285.patch
revid: 8575
Missing load acquire when checking if ConstantPoolCacheEntry is resolved


largecodecache.patch
revid: 8576
Add support for large code cache

Failed to apply as is because of conlict with a cherry-picked patch
applied out of order (Remove AArch64-specific code in
generateOptoStub.cpp). The failure relates to 2 problems. The out of
order patch corrected a typo in the comment text used to contextualize
the 2nd hunk in this patch. It also made an incompatible change to the
computation of the instruction count i.e. there is a real merge
conflict here when the patch is applied out of order. So, the
cherry-picked patch must itself have been tweaked to be applied out of
order.


largecodecache-correction.patch
revid: 8578
Fix client build after addition of large code cache support


8146286.patch
revid: 8579
guarantee failures with large code cache sizes on jtreg test
java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java


8143584.patch
revid: 8580
Load constant pool tag and class status with load acquire


8144028.patch
revid: 8581
Use AArch64 bit-test instructions in C2


8144587.patch
revid: 8582
generate vectorized MLA/MLS instructions


8145438.patch
revid: 8583
Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2


8144582.patch
revid: 8584
AArch64 does not generate correct branch profile data


8144201.patch
revid: 8585
jdk/test/com/sun/net/httpserver/Test6a.java fails with
--enable-unlimited-crypto


8146678.patch
revid: 8586
assertion failure: call instruction in an infinite loop


8146843.patch
revid: 8587
add scheduling support for FP and vector instructions


8146709.patch
revid: 8588
Incorrect use of ADRP for byte_map_base


8147805.patch
revid: 8589
C1 segmentation fault due to inline Unsafe.getAndSetObject


8148240.patch
revid: 8590
random infrequent null pointer exceptions in javac


More information about the aarch64-port-dev mailing list