src/cpu/x86/vm/globals_x86.hpp

Print this page




  40 define_pd_global(bool, UncommonNullCast,         true);  // Uncommon-trap NULLs passed to check cast
  41 
  42 // See 4827828 for this change. There is no globals_core_i486.hpp. I can't
  43 // assign a different value for C2 without touching a number of files. Use
  44 // #ifdef to minimize the change as it's late in Mantis. -- FIXME.
  45 // c1 doesn't have this problem because the fix to 4858033 assures us
  46 // the the vep is aligned at CodeEntryAlignment whereas c2 only aligns
  47 // the uep and the vep doesn't get real alignment but just slops on by
  48 // only assured that the entry instruction meets the 5 byte size requirement.
  49 #if defined(COMPILER2) || INCLUDE_JVMCI
  50 define_pd_global(intx, CodeEntryAlignment,       32);
  51 #else
  52 define_pd_global(intx, CodeEntryAlignment,       16);
  53 #endif // COMPILER2
  54 define_pd_global(intx, OptoLoopAlignment,        16);
  55 define_pd_global(intx, InlineFrequencyCount,     100);
  56 define_pd_global(intx, InlineSmallCode,          1000);
  57 
  58 #define DEFAULT_STACK_YELLOW_PAGES (NOT_WINDOWS(2) WINDOWS_ONLY(3))
  59 #define DEFAULT_STACK_RED_PAGES (1)

  60 
  61 #define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES
  62 #define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES

  63 
  64 #ifdef AMD64
  65 // Very large C++ stack frames using solaris-amd64 optimized builds
  66 // due to lack of optimization caused by C++ compiler bugs
  67 #define DEFAULT_STACK_SHADOW_PAGES (NOT_WIN64(20) WIN64_ONLY(6) DEBUG_ONLY(+2))
  68 // For those clients that do not use write socket, we allow
  69 // the min range value to be below that of the default
  70 #define MIN_STACK_SHADOW_PAGES (NOT_WIN64(10) WIN64_ONLY(6) DEBUG_ONLY(+2))
  71 #else
  72 #define DEFAULT_STACK_SHADOW_PAGES (4 DEBUG_ONLY(+5))
  73 #define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
  74 #endif // AMD64
  75 
  76 define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
  77 define_pd_global(intx, StackRedPages, DEFAULT_STACK_RED_PAGES);
  78 define_pd_global(intx, StackShadowPages, DEFAULT_STACK_SHADOW_PAGES);

  79 
  80 define_pd_global(bool, RewriteBytecodes,     true);
  81 define_pd_global(bool, RewriteFrequentPairs, true);
  82 
  83 #ifdef _ALLBSD_SOURCE
  84 define_pd_global(bool, UseMembar,            true);
  85 #else
  86 define_pd_global(bool, UseMembar,            false);
  87 #endif
  88 
  89 // GC Ergo Flags
  90 define_pd_global(size_t, CMSYoungGenPerWorker, 64*M);  // default max size of CMS young gen, per GC worker thread
  91 
  92 define_pd_global(uintx, TypeProfileLevel, 111);
  93 
  94 define_pd_global(bool, PreserveFramePointer, false);
  95 
  96 #define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct, range, constraint) \
  97                                                                             \
  98   develop(bool, IEEEPrecision, true,                                        \




  40 define_pd_global(bool, UncommonNullCast,         true);  // Uncommon-trap NULLs passed to check cast
  41 
  42 // See 4827828 for this change. There is no globals_core_i486.hpp. I can't
  43 // assign a different value for C2 without touching a number of files. Use
  44 // #ifdef to minimize the change as it's late in Mantis. -- FIXME.
  45 // c1 doesn't have this problem because the fix to 4858033 assures us
  46 // the the vep is aligned at CodeEntryAlignment whereas c2 only aligns
  47 // the uep and the vep doesn't get real alignment but just slops on by
  48 // only assured that the entry instruction meets the 5 byte size requirement.
  49 #if defined(COMPILER2) || INCLUDE_JVMCI
  50 define_pd_global(intx, CodeEntryAlignment,       32);
  51 #else
  52 define_pd_global(intx, CodeEntryAlignment,       16);
  53 #endif // COMPILER2
  54 define_pd_global(intx, OptoLoopAlignment,        16);
  55 define_pd_global(intx, InlineFrequencyCount,     100);
  56 define_pd_global(intx, InlineSmallCode,          1000);
  57 
  58 #define DEFAULT_STACK_YELLOW_PAGES (NOT_WINDOWS(2) WINDOWS_ONLY(3))
  59 #define DEFAULT_STACK_RED_PAGES (1)
  60 #define DEFAULT_STACK_RESERVED_PAGES (NOT_WINDOWS(1) WINDOWS_ONLY(0))
  61 
  62 #define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES
  63 #define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES
  64 #define MIN_STACK_RESERVED_PAGES (0)
  65 
  66 #ifdef AMD64
  67 // Very large C++ stack frames using solaris-amd64 optimized builds
  68 // due to lack of optimization caused by C++ compiler bugs
  69 #define DEFAULT_STACK_SHADOW_PAGES (NOT_WIN64(20) WIN64_ONLY(6) DEBUG_ONLY(+2))
  70 // For those clients that do not use write socket, we allow
  71 // the min range value to be below that of the default
  72 #define MIN_STACK_SHADOW_PAGES (NOT_WIN64(10) WIN64_ONLY(6) DEBUG_ONLY(+2))
  73 #else
  74 #define DEFAULT_STACK_SHADOW_PAGES (4 DEBUG_ONLY(+5))
  75 #define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
  76 #endif // AMD64
  77 
  78 define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
  79 define_pd_global(intx, StackRedPages, DEFAULT_STACK_RED_PAGES);
  80 define_pd_global(intx, StackShadowPages, DEFAULT_STACK_SHADOW_PAGES);
  81 define_pd_global(intx, StackReservedPages, DEFAULT_STACK_RESERVED_PAGES);
  82 
  83 define_pd_global(bool, RewriteBytecodes,     true);
  84 define_pd_global(bool, RewriteFrequentPairs, true);
  85 
  86 #ifdef _ALLBSD_SOURCE
  87 define_pd_global(bool, UseMembar,            true);
  88 #else
  89 define_pd_global(bool, UseMembar,            false);
  90 #endif
  91 
  92 // GC Ergo Flags
  93 define_pd_global(size_t, CMSYoungGenPerWorker, 64*M);  // default max size of CMS young gen, per GC worker thread
  94 
  95 define_pd_global(uintx, TypeProfileLevel, 111);
  96 
  97 define_pd_global(bool, PreserveFramePointer, false);
  98 
  99 #define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct, range, constraint) \
 100                                                                             \
 101   develop(bool, IEEEPrecision, true,                                        \