src/cpu/sparc/vm/vm_version_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6954029 Sdiff src/cpu/sparc/vm

src/cpu/sparc/vm/vm_version_sparc.cpp

Print this page




  48     AllocatePrefetchLines = 3; // Optimistic value
  49   assert( AllocatePrefetchLines > 0, "invalid value");
  50   if( AllocatePrefetchLines < 1 ) // set valid value in product VM
  51     AllocatePrefetchLines = 1; // Conservative value
  52 
  53   AllocatePrefetchDistance = allocate_prefetch_distance();
  54   AllocatePrefetchStyle    = allocate_prefetch_style();
  55 
  56   assert(AllocatePrefetchDistance % AllocatePrefetchStepSize == 0, "invalid value");
  57 
  58   UseSSE = 0; // Only on x86 and x64
  59 
  60   _supports_cx8               = has_v9();
  61 
  62   if (is_niagara1()) {
  63     // Indirect branch is the same cost as direct
  64     if (FLAG_IS_DEFAULT(UseInlineCaches)) {
  65       FLAG_SET_DEFAULT(UseInlineCaches, false);
  66     }
  67 #ifdef _LP64
  68     // Single issue niagara1 is slower for CompressedOops
  69     // but niagaras after that it's fine.
  70     if (!is_niagara1_plus()) {
  71       if (FLAG_IS_DEFAULT(UseCompressedOops)) {
  72         FLAG_SET_ERGO(bool, UseCompressedOops, false);
  73       }
  74     }
  75     // 32-bit oops don't make sense for the 64-bit VM on sparc
  76     // since the 32-bit VM has the same registers and smaller objects.
  77     Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
  78 #endif // _LP64
  79 #ifdef COMPILER2
  80     // Indirect branch is the same cost as direct
  81     if (FLAG_IS_DEFAULT(UseJumpTables)) {
  82       FLAG_SET_DEFAULT(UseJumpTables, true);
  83     }
  84     // Single-issue, so entry and loop tops are
  85     // aligned on a single instruction boundary
  86     if (FLAG_IS_DEFAULT(InteriorEntryAlignment)) {
  87       FLAG_SET_DEFAULT(InteriorEntryAlignment, 4);
  88     }
  89     if (is_niagara1_plus()) {
  90       if (AllocatePrefetchStyle > 0 && FLAG_IS_DEFAULT(AllocatePrefetchStyle)) {
  91         // Use BIS instruction for allocation prefetch.
  92         FLAG_SET_DEFAULT(AllocatePrefetchStyle, 3);
  93         if (FLAG_IS_DEFAULT(AllocatePrefetchDistance)) {
  94           // Use smaller prefetch distance on N2 with BIS




  48     AllocatePrefetchLines = 3; // Optimistic value
  49   assert( AllocatePrefetchLines > 0, "invalid value");
  50   if( AllocatePrefetchLines < 1 ) // set valid value in product VM
  51     AllocatePrefetchLines = 1; // Conservative value
  52 
  53   AllocatePrefetchDistance = allocate_prefetch_distance();
  54   AllocatePrefetchStyle    = allocate_prefetch_style();
  55 
  56   assert(AllocatePrefetchDistance % AllocatePrefetchStepSize == 0, "invalid value");
  57 
  58   UseSSE = 0; // Only on x86 and x64
  59 
  60   _supports_cx8               = has_v9();
  61 
  62   if (is_niagara1()) {
  63     // Indirect branch is the same cost as direct
  64     if (FLAG_IS_DEFAULT(UseInlineCaches)) {
  65       FLAG_SET_DEFAULT(UseInlineCaches, false);
  66     }
  67 #ifdef _LP64







  68     // 32-bit oops don't make sense for the 64-bit VM on sparc
  69     // since the 32-bit VM has the same registers and smaller objects.
  70     Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
  71 #endif // _LP64
  72 #ifdef COMPILER2
  73     // Indirect branch is the same cost as direct
  74     if (FLAG_IS_DEFAULT(UseJumpTables)) {
  75       FLAG_SET_DEFAULT(UseJumpTables, true);
  76     }
  77     // Single-issue, so entry and loop tops are
  78     // aligned on a single instruction boundary
  79     if (FLAG_IS_DEFAULT(InteriorEntryAlignment)) {
  80       FLAG_SET_DEFAULT(InteriorEntryAlignment, 4);
  81     }
  82     if (is_niagara1_plus()) {
  83       if (AllocatePrefetchStyle > 0 && FLAG_IS_DEFAULT(AllocatePrefetchStyle)) {
  84         // Use BIS instruction for allocation prefetch.
  85         FLAG_SET_DEFAULT(AllocatePrefetchStyle, 3);
  86         if (FLAG_IS_DEFAULT(AllocatePrefetchDistance)) {
  87           // Use smaller prefetch distance on N2 with BIS


src/cpu/sparc/vm/vm_version_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File