[aarch64-port-dev ] Query regarding backport of memory order changes to JDK7
Andrew Dinn
adinn at redhat.com
Fri Nov 14 16:40:41 UTC 2014
On 14/11/14 16:28, Andrew Haley wrote:
> Please show me the code you're describing.
The JDK8 code is here:
hg.openjdk.java.net/aarch64-port/jdk9/hotspot/file/691d58eae6e3/src/cpu/aarch64/vm/javaFrameAnchor_aarch64.hpp
The methods which set _last_Java_sp do so at lines:
44 (in method clear)
. . .
_last_Java_sp = NULL;
OrderAccess::release();
. . .
59 (in method copy)
. . .
if (_last_Java_sp != src->_last_Java_sp) {
_last_Java_sp = NULL;
OrderAccess::release();
}
. . .
83 (in method set_last_Java_sp)
. . .
void set_last_Java_sp(intptr_t* sp) { _last_Java_sp = sp;
OrderAccess::release(); }
. . .
Each assignment is followed by a call to OrderAccess::release(). So, why
is there a need to call OrderAccess::release() at line:
87 (in method set_last_Java_fp)
. . .
void set_last_Java_fp(intptr_t* fp) { OrderAccess::release();
_last_Java_fp = fp; }
. . .
Does some other code assign _last_Java_sp without calling
OrderAccess::release(); and then call set_last_Java_fp()? If not then
surely there is no need to do it in set_last_Java_fp()?
regards,
Andrew Dinn
-----------
More information about the aarch64-port-dev
mailing list