[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