Update NO_EXECUTE_PERMISSION documentation
authorIvan Maidanski <ivmai@mail.ru>
Tue, 18 Dec 2018 23:28:21 +0000 (02:28 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 18 Dec 2018 23:30:59 +0000 (02:30 +0300)
* doc/README.macros (NO_EXECUTE_PERMISSION): Update and refine the
documentation (e.g. mention memory unmapping).

doc/README.macros

index b16198b..a6b96ee 100644 (file)
@@ -204,10 +204,11 @@ DONT_ADD_BYTE_AT_END    Meaningful only with ALL_INTERIOR_POINTERS or
 
 NO_EXECUTE_PERMISSION   May cause some or all of the heap to not
   have execute permission, i.e. it may be impossible to execute
-  code from the heap.  Currently this only affects the incremental
-  collector on UNIX machines.  It may greatly improve its performance,
-  since this may avoid some expensive cache synchronization.  Alternatively,
-  GC_set_pages_executable can be called at the process initialization time.
+  code from the heap.  Affects the incremental collector and memory unmapping.
+  It may greatly improve the performance, since this may avoid some expensive
+  cache synchronization.  Portable clients should call
+  GC_set_pages_executable(1) at the process initialization time if the
+  execute permission is required.
 
 GC_NO_OPERATOR_NEW_ARRAY        Declares that the C++ compiler does not
   support the  new syntax "operator new[]" for allocating and deleting arrays.