< prev index next >

src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp

Print this page




 784 bool os::is_allocatable(size_t bytes) {
 785 #ifdef AMD64
 786   // unused on amd64?
 787   return true;
 788 #else
 789 
 790   if (bytes < 2 * G) {
 791     return true;
 792   }
 793 
 794   char* addr = reserve_memory(bytes, NULL);
 795 
 796   if (addr != NULL) {
 797     release_memory(addr, bytes);
 798   }
 799 
 800   return addr != NULL;
 801 #endif // AMD64
 802 }
 803 












 804 ////////////////////////////////////////////////////////////////////////////////
 805 // thread stack
 806 
 807 // Minimum usable stack sizes required to get to user code. Space for
 808 // HotSpot guard pages is added later.
 809 size_t os::Posix::_compiler_thread_min_stack_allowed = 48 * K;
 810 size_t os::Posix::_java_thread_min_stack_allowed = 48 * K;
 811 #ifdef _LP64
 812 size_t os::Posix::_vm_internal_thread_min_stack_allowed = 64 * K;
 813 #else
 814 size_t os::Posix::_vm_internal_thread_min_stack_allowed = (48 DEBUG_ONLY(+ 4)) * K;
 815 #endif // _LP64
 816 
 817 #ifndef AMD64
 818 #ifdef __GNUC__
 819 #define GET_GS() ({int gs; __asm__ volatile("movw %%gs, %w0":"=q"(gs)); gs&0xffff;})
 820 #endif
 821 #endif // AMD64
 822 
 823 // return default stack size for thr_type




 784 bool os::is_allocatable(size_t bytes) {
 785 #ifdef AMD64
 786   // unused on amd64?
 787   return true;
 788 #else
 789 
 790   if (bytes < 2 * G) {
 791     return true;
 792   }
 793 
 794   char* addr = reserve_memory(bytes, NULL);
 795 
 796   if (addr != NULL) {
 797     release_memory(addr, bytes);
 798   }
 799 
 800   return addr != NULL;
 801 #endif // AMD64
 802 }
 803 
 804 juint os::cpu_microcode_revision() {
 805   juint result = 0;
 806   char data[8];
 807   size_t sz = sizeof(data);
 808   int ret = sysctlbyname("machdep.cpu.microcode_version", data, &sz, NULL, 0);
 809   if (ret == 0) {
 810     if (sz == 4) result = *((juint*)data);
 811     if (sz == 8) result = *((juint*)data + 1); // upper 32-bits
 812   }
 813   return result;
 814 }
 815 
 816 ////////////////////////////////////////////////////////////////////////////////
 817 // thread stack
 818 
 819 // Minimum usable stack sizes required to get to user code. Space for
 820 // HotSpot guard pages is added later.
 821 size_t os::Posix::_compiler_thread_min_stack_allowed = 48 * K;
 822 size_t os::Posix::_java_thread_min_stack_allowed = 48 * K;
 823 #ifdef _LP64
 824 size_t os::Posix::_vm_internal_thread_min_stack_allowed = 64 * K;
 825 #else
 826 size_t os::Posix::_vm_internal_thread_min_stack_allowed = (48 DEBUG_ONLY(+ 4)) * K;
 827 #endif // _LP64
 828 
 829 #ifndef AMD64
 830 #ifdef __GNUC__
 831 #define GET_GS() ({int gs; __asm__ volatile("movw %%gs, %w0":"=q"(gs)); gs&0xffff;})
 832 #endif
 833 #endif // AMD64
 834 
 835 // return default stack size for thr_type


< prev index next >