hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp
changeset 1664 fc9ed50498fb
parent 1659 b9a3819ac7c6
child 2111 dab8a43dd738
child 2105 347008ce7984
equal deleted inserted replaced
1660:86be56b9ba46 1664:fc9ed50498fb
   574 
   574 
   575       // In conservative mode, don't unguard unless the address is in the VM
   575       // In conservative mode, don't unguard unless the address is in the VM
   576       if (addr != last_addr &&
   576       if (addr != last_addr &&
   577           (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) {
   577           (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) {
   578 
   578 
   579         // Unguard and retry
   579         // Make memory rwx and retry
   580         address page_start =
   580         address page_start =
   581           (address) align_size_down((intptr_t) addr, (intptr_t) page_size);
   581           (address) align_size_down((intptr_t) addr, (intptr_t) page_size);
   582         bool res = os::unguard_memory((char*) page_start, page_size);
   582         bool res = os::protect_memory((char*) page_start, page_size,
       
   583                                       os::MEM_PROT_RWX);
   583 
   584 
   584         if (PrintMiscellaneous && Verbose) {
   585         if (PrintMiscellaneous && Verbose) {
   585           char buf[256];
   586           char buf[256];
   586           jio_snprintf(buf, sizeof(buf), "Execution protection violation "
   587           jio_snprintf(buf, sizeof(buf), "Execution protection violation "
   587                        "at " INTPTR_FORMAT
   588                        "at " INTPTR_FORMAT