comparison src/cpu/x86/vm/vm_version_x86.cpp @ 6795:7eca5de9e0b6

7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement() Summary: use shorter instruction sequences for atomic add and atomic exchange when possible. Reviewed-by: kvn, jrose
author roland
date Thu, 20 Sep 2012 16:49:17 +0200
parents 8ae8f9dd7099
children a3ecd773a7b9
comparison
equal deleted inserted replaced
6794:8ae8f9dd7099 6795:7eca5de9e0b6
361 _logical_processors_per_package = logical_processor_count(); 361 _logical_processors_per_package = logical_processor_count();
362 } 362 }
363 } 363 }
364 364
365 _supports_cx8 = supports_cmpxchg8(); 365 _supports_cx8 = supports_cmpxchg8();
366 // xchg and xadd instructions
367 _supports_atomic_getset4 = true;
368 _supports_atomic_getadd4 = true;
369 LP64_ONLY(_supports_atomic_getset8 = true);
370 LP64_ONLY(_supports_atomic_getadd8 = true);
366 371
367 #ifdef _LP64 372 #ifdef _LP64
368 // OS should support SSE for x64 and hardware should support at least SSE2. 373 // OS should support SSE for x64 and hardware should support at least SSE2.
369 if (!VM_Version::supports_sse2()) { 374 if (!VM_Version::supports_sse2()) {
370 vm_exit_during_initialization("Unknown x64 processor: SSE2 not supported"); 375 vm_exit_during_initialization("Unknown x64 processor: SSE2 not supported");