6884973: java -XX:Atomics=2 crashes
Remove buggy experimental option Reviewed-by: acorn, coleenp
This commit is contained in:
parent
5a5c90dd1c
commit
284879b3fc
@ -1170,27 +1170,12 @@ void Assembler::cmpw(Address dst, int imm16) {
|
||||
// and stores reg into adr if so; otherwise, the value at adr is loaded into rax,.
|
||||
// The ZF is set if the compared values were equal, and cleared otherwise.
|
||||
void Assembler::cmpxchgl(Register reg, Address adr) { // cmpxchg
|
||||
if (Atomics & 2) {
|
||||
// caveat: no instructionmark, so this isn't relocatable.
|
||||
// Emit a synthetic, non-atomic, CAS equivalent.
|
||||
// Beware. The synthetic form sets all ICCs, not just ZF.
|
||||
// cmpxchg r,[m] is equivalent to rax, = CAS (m, rax, r)
|
||||
cmpl(rax, adr);
|
||||
movl(rax, adr);
|
||||
if (reg != rax) {
|
||||
Label L ;
|
||||
jcc(Assembler::notEqual, L);
|
||||
movl(adr, reg);
|
||||
bind(L);
|
||||
}
|
||||
} else {
|
||||
InstructionMark im(this);
|
||||
prefix(adr, reg);
|
||||
emit_byte(0x0F);
|
||||
emit_byte(0xB1);
|
||||
emit_operand(reg, adr);
|
||||
}
|
||||
}
|
||||
|
||||
void Assembler::comisd(XMMRegister dst, Address src) {
|
||||
// NOTE: dbx seems to decode this as comiss even though the
|
||||
@ -1513,13 +1498,8 @@ void Assembler::leal(Register dst, Address src) {
|
||||
}
|
||||
|
||||
void Assembler::lock() {
|
||||
if (Atomics & 1) {
|
||||
// Emit either nothing, a NOP, or a NOP: prefix
|
||||
emit_byte(0x90) ;
|
||||
} else {
|
||||
emit_byte(0xF0);
|
||||
}
|
||||
}
|
||||
|
||||
void Assembler::lzcntl(Register dst, Register src) {
|
||||
assert(VM_Version::supports_lzcnt(), "encoding is treated as BSR");
|
||||
|
@ -1066,9 +1066,6 @@ class CommandLineFlags {
|
||||
\
|
||||
product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
|
||||
\
|
||||
product(intx, Atomics, 0, \
|
||||
"(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \
|
||||
\
|
||||
product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \
|
||||
\
|
||||
product(intx, SyncVerbose, 0, "(Unstable)" ) \
|
||||
|
Loading…
x
Reference in New Issue
Block a user