[aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 9 new changesets

adinn at redhat.com adinn at redhat.com
Wed Sep 4 05:00:52 PDT 2013


Changeset: 09ab880016e0
Author:    adinn
Date:      2013-08-23 09:59 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/09ab880016e0

fixed str encoding to deal with case where we need to write rsp to thread

previous code was a simple str which actually writes zr

! src/cpu/aarch64/vm/aarch64.ad

Changeset: 34e5f49ce8e2
Author:    adinn
Date:      2013-08-27 13:03 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/34e5f49ce8e2

corrected java frame reset in deopt blob to be consistent with x86

! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp

Changeset: e7f98a209538
Author:    adinn
Date:      2013-09-03 17:41 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e7f98a209538

Merge

! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp

Changeset: b8ccef72ee8d
Author:    adinn
Date:      2013-09-03 18:13 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b8ccef72ee8d

correct offset to return address into instructions for C2 runtime call

! src/cpu/aarch64/vm/aarch64.ad

Changeset: cdd044d042d4
Author:    adinn
Date:      2013-09-03 18:15 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cdd044d042d4

corrected cmpxchg encodings so they set flags correctly

! src/cpu/aarch64/vm/aarch64.ad

Changeset: b05ca31c2410
Author:    adinn
Date:      2013-09-04 10:24 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b05ca31c2410

fixed oopmap at C2 safepoint read with dependent change to c1 safepoint check

Safepoint in C2 cannot be generated as a macro sequence "load the poll
address; read from it" because the generic C2 code can only place the
oop map at the start of such a sequence. thsi is no good because the
SEGV trap handler relies on the oop map being placed at the read.

this means we have to configure the C2 rule for a Safepoint node to
accept the node address as an input and let C2 plant the address load
(constant load) as a prior step. this means the address load will not
always directly precede the read.

this doe snot change c1 per se. it can still plant these instructions
adjacent to each other. however, the native instruction safepoint
check and the reloc code need to be modified:

i) to accept a reloc_a pollah on a ldr(zr, [reg, off]) instruction but
do no relocation on it rather than look for a preceding reloc address
load to relocate

ii) to relocate the constant load (adrp or mov64) merely by virtue of
it being marked as reloc_poll

! src/cpu/aarch64/vm/aarch64.ad
! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
! src/cpu/aarch64/vm/nativeInst_aarch64.cpp
! src/cpu/aarch64/vm/nativeInst_aarch64.hpp

Changeset: 56f293cc8b58
Author:    adinn
Date:      2013-09-04 10:26 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/56f293cc8b58

corfrected 32/64 bit error in encoding of CompareAndSwapN

! src/cpu/aarch64/vm/aarch64.ad

Changeset: 1125579f0c94
Author:    adinn
Date:      2013-09-04 11:35 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1125579f0c94

made frame set/reset follow x86 and corrected some errors in frame code

fetch of reset fp in frame::initial_deoptimization_info() needs to
call real_fp() rather than fp() so that it works corrcetly for
compiled frames

calls to set_last_Java_frame in shared_runtime code must specify noreg
for fp register because this ensures it stays at zero which means we
can still sanity check sp/fp in the frame constructors

this also required removing the shouldn't in set_last_Java_frame if
fpreg was not valid

the deopt blob was not passing the correct pc address to
set_last_Java_frame (it apssed NULL) and this was breaking C2 deopt

! src/cpu/aarch64/vm/frame_aarch64.cpp
! src/cpu/aarch64/vm/frame_aarch64.inline.hpp
! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp

Changeset: ae164fab64ea
Author:    adinn
Date:      2013-09-04 12:59 +0100
URL:       http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ae164fab64ea

Merge

! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp




More information about the aarch64-port-dev mailing list