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"); |