src/cpu/x86/vm/vm_version_x86.cpp

changeset 2085
f55c4f82ab9d
parent 1977
76efbe666d6c
child 2103
3e8fbc61cee8
     1.1 --- a/src/cpu/x86/vm/vm_version_x86.cpp	Wed Aug 18 01:22:16 2010 -0700
     1.2 +++ b/src/cpu/x86/vm/vm_version_x86.cpp	Thu Aug 19 14:51:47 2010 -0700
     1.3 @@ -482,6 +482,15 @@
     1.4      }
     1.5    }
     1.6  
     1.7 +#ifdef COMPILER2
     1.8 +  if (UseFPUForSpilling) {
     1.9 +    if (UseSSE < 2) {
    1.10 +      // Only supported with SSE2+
    1.11 +      FLAG_SET_DEFAULT(UseFPUForSpilling, false);
    1.12 +    }
    1.13 +  }
    1.14 +#endif
    1.15 +
    1.16    assert(0 <= ReadPrefetchInstr && ReadPrefetchInstr <= 3, "invalid value");
    1.17    assert(0 <= AllocatePrefetchInstr && AllocatePrefetchInstr <= 3, "invalid value");
    1.18  
    1.19 @@ -520,6 +529,11 @@
    1.20      if( supports_sse4_2() && supports_ht() ) { // Nehalem based cpus
    1.21        AllocatePrefetchDistance = 192;
    1.22        AllocatePrefetchLines = 4;
    1.23 +#ifdef COMPILER2
    1.24 +      if (AggressiveOpts && FLAG_IS_DEFAULT(UseFPUForSpilling)) {
    1.25 +        FLAG_SET_DEFAULT(UseFPUForSpilling, true);
    1.26 +      }
    1.27 +#endif
    1.28      }
    1.29    }
    1.30    assert(AllocatePrefetchDistance % AllocatePrefetchStepSize == 0, "invalid value");

mercurial