equal
deleted
inserted
replaced
33 int VM_Version::_features = VM_Version::unknown_m; |
33 int VM_Version::_features = VM_Version::unknown_m; |
34 const char* VM_Version::_features_str = ""; |
34 const char* VM_Version::_features_str = ""; |
35 unsigned int VM_Version::_L2_data_cache_line_size = 0; |
35 unsigned int VM_Version::_L2_data_cache_line_size = 0; |
36 |
36 |
37 void VM_Version::initialize() { |
37 void VM_Version::initialize() { |
38 _features = determine_features(); |
38 |
|
39 assert(_features != VM_Version::unknown_m, "System pre-initialization is not complete."); |
|
40 guarantee(VM_Version::has_v9(), "only SPARC v9 is supported"); |
|
41 |
39 PrefetchCopyIntervalInBytes = prefetch_copy_interval_in_bytes(); |
42 PrefetchCopyIntervalInBytes = prefetch_copy_interval_in_bytes(); |
40 PrefetchScanIntervalInBytes = prefetch_scan_interval_in_bytes(); |
43 PrefetchScanIntervalInBytes = prefetch_scan_interval_in_bytes(); |
41 PrefetchFieldsAhead = prefetch_fields_ahead(); |
44 PrefetchFieldsAhead = prefetch_fields_ahead(); |
42 |
45 |
43 // Allocation prefetch settings |
46 // Allocation prefetch settings |
57 |
60 |
58 if (AllocatePrefetchStyle == 3 && !has_blk_init()) { |
61 if (AllocatePrefetchStyle == 3 && !has_blk_init()) { |
59 warning("BIS instructions are not available on this CPU"); |
62 warning("BIS instructions are not available on this CPU"); |
60 FLAG_SET_DEFAULT(AllocatePrefetchStyle, 1); |
63 FLAG_SET_DEFAULT(AllocatePrefetchStyle, 1); |
61 } |
64 } |
62 |
|
63 guarantee(VM_Version::has_v9(), "only SPARC v9 is supported"); |
|
64 |
65 |
65 UseSSE = 0; // Only on x86 and x64 |
66 UseSSE = 0; // Only on x86 and x64 |
66 |
67 |
67 _supports_cx8 = has_v9(); |
68 _supports_cx8 = has_v9(); |
68 _supports_atomic_getset4 = true; // swap instruction |
69 _supports_atomic_getset4 = true; // swap instruction |