src/hotspot/share/runtime/thread.cpp
changeset 48005 9fd89aabb6cd
parent 47995 8ad56b1b2b1f
child 48105 8d15b1369c7a
equal deleted inserted replaced
48003:e1ec73e3325e 48005:9fd89aabb6cd
  2469 size_t JavaThread::_stack_yellow_zone_size = 0;
  2469 size_t JavaThread::_stack_yellow_zone_size = 0;
  2470 size_t JavaThread::_stack_reserved_zone_size = 0;
  2470 size_t JavaThread::_stack_reserved_zone_size = 0;
  2471 size_t JavaThread::_stack_shadow_zone_size = 0;
  2471 size_t JavaThread::_stack_shadow_zone_size = 0;
  2472 
  2472 
  2473 void JavaThread::create_stack_guard_pages() {
  2473 void JavaThread::create_stack_guard_pages() {
  2474   if (!os::uses_stack_guard_pages() || _stack_guard_state != stack_guard_unused) { return; }
  2474   if (!os::uses_stack_guard_pages() ||
       
  2475       _stack_guard_state != stack_guard_unused ||
       
  2476       (DisablePrimordialThreadGuardPages && os::is_primordial_thread())) {
       
  2477       log_info(os, thread)("Stack guard page creation for thread "
       
  2478                            UINTX_FORMAT " disabled", os::current_thread_id());
       
  2479     return;
       
  2480   }
  2475   address low_addr = stack_end();
  2481   address low_addr = stack_end();
  2476   size_t len = stack_guard_zone_size();
  2482   size_t len = stack_guard_zone_size();
  2477 
  2483 
  2478   assert(is_aligned(low_addr, os::vm_page_size()), "Stack base should be the start of a page");
  2484   assert(is_aligned(low_addr, os::vm_page_size()), "Stack base should be the start of a page");
  2479   assert(is_aligned(len, os::vm_page_size()), "Stack size should be a multiple of page size");
  2485   assert(is_aligned(len, os::vm_page_size()), "Stack size should be a multiple of page size");