Print this page


Split Split Close
Expand all
Collapse all
          --- old/src/cpu/sparc/vm/vm_version_sparc.cpp
          +++ new/src/cpu/sparc/vm/vm_version_sparc.cpp
↓ open down ↓ 32 lines elided ↑ open up ↑
  33   33  #endif
  34   34  #ifdef TARGET_OS_FAMILY_solaris
  35   35  # include "os_solaris.inline.hpp"
  36   36  #endif
  37   37  
  38   38  int VM_Version::_features = VM_Version::unknown_m;
  39   39  const char* VM_Version::_features_str = "";
  40   40  unsigned int VM_Version::_L2_data_cache_line_size = 0;
  41   41  
  42   42  void VM_Version::initialize() {
  43      -  _features = determine_features();
       43 +
       44 +  assert(_features != VM_Version::unknown_m, "System pre-initialization is not complete.");
       45 +  guarantee(VM_Version::has_v9(), "only SPARC v9 is supported");
       46 +
  44   47    PrefetchCopyIntervalInBytes = prefetch_copy_interval_in_bytes();
  45   48    PrefetchScanIntervalInBytes = prefetch_scan_interval_in_bytes();
  46   49    PrefetchFieldsAhead         = prefetch_fields_ahead();
  47   50  
  48   51    assert(0 <= AllocatePrefetchInstr && AllocatePrefetchInstr <= 1, "invalid value");
  49   52    if( AllocatePrefetchInstr < 0 ) AllocatePrefetchInstr = 0;
  50   53    if( AllocatePrefetchInstr > 1 ) AllocatePrefetchInstr = 0;
  51   54  
  52   55    // Allocation prefetch settings
  53   56    intx cache_line_size = prefetch_data_size();
↓ open down ↓ 15 lines elided ↑ open up ↑
  69   72    if ((AllocatePrefetchDistance % AllocatePrefetchStepSize) != 0 ||
  70   73        (AllocatePrefetchDistance <= 0)) {
  71   74      AllocatePrefetchDistance = AllocatePrefetchStepSize;
  72   75    }
  73   76  
  74   77    if (AllocatePrefetchStyle == 3 && !has_blk_init()) {
  75   78      warning("BIS instructions are not available on this CPU");
  76   79      FLAG_SET_DEFAULT(AllocatePrefetchStyle, 1);
  77   80    }
  78   81  
  79      -  guarantee(VM_Version::has_v9(), "only SPARC v9 is supported");
  80      -
  81   82    assert(ArraycopySrcPrefetchDistance < 4096, "invalid value");
  82   83    if (ArraycopySrcPrefetchDistance >= 4096)
  83   84      ArraycopySrcPrefetchDistance = 4064;
  84   85    assert(ArraycopyDstPrefetchDistance < 4096, "invalid value");
  85   86    if (ArraycopyDstPrefetchDistance >= 4096)
  86   87      ArraycopyDstPrefetchDistance = 4064;
  87   88  
  88   89    UseSSE = 0; // Only on x86 and x64
  89   90  
  90   91    _supports_cx8 = has_v9();
↓ open down ↓ 369 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX