[
  [
    "ElectricFence-2.2.2/page.c.jj", 
    "ElectricFence-2.2.2/page.c", 
    [
      "--- ElectricFence-2.2.2/page.c.jj", 
      "+++ ElectricFence-2.2.2/page.c", 
      "@@ -160,8 +160,9 @@ Page_DenyAccess(void * address, size_t s", 
      "void", 
      "Page_Delete(void * address, size_t size)", 
      "{", 
      "-\tif ( munmap((caddr_t)address, size) < 0 )", 
      "-\t\tPage_DenyAccess(address, size);", 
      "+\tPage_DenyAccess(address, size);", 
      "+\t/* Tell the kernel we will never need it again.  */", 
      "+\tmadvise(address, size, MADV_DONTNEED);", 
      "}", 
      "", 
      "#if defined(_SC_PAGESIZE)"
    ]
  ], 
  [
    "ElectricFence-2.2.2/efence.c.jj", 
    "ElectricFence-2.2.2/efence.c", 
    [
      "--- ElectricFence-2.2.2/efence.c.jj", 
      "+++ ElectricFence-2.2.2/efence.c", 
      "@@ -626,10 +626,7 @@ memalign(size_t alignment, size_t userSi", 
      "address += internalSize - bytesPerPage;", 
      "", 
      "/* Set up the \"dead\" page. */", 
      "-\t\tif ( EF_PROTECT_FREE )", 
      "-\t\t\tPage_Delete(address, bytesPerPage);", 
      "-\t\telse", 
      "-\t\t\tPage_DenyAccess(address, bytesPerPage);", 
      "+\t\tPage_Delete(address, bytesPerPage);", 
      "", 
      "/* Figure out what address to give the user. */", 
      "address -= userSize;", 
      "@@ -643,11 +640,8 @@ memalign(size_t alignment, size_t userSi", 
      "address = (char *)fullSlot->internalAddress;", 
      "", 
      "/* Set up the \"dead\" page. */", 
      "-\t\tif ( EF_PROTECT_FREE )", 
      "-\t\t\tPage_Delete(address, bytesPerPage);", 
      "-\t\telse", 
      "-\t\t\tPage_DenyAccess(address, bytesPerPage);", 
      "-", 
      "+\t\tPage_Delete(address, bytesPerPage);", 
      "+", 
      "address += bytesPerPage;", 
      "", 
      "/* Set up the \"live\" page. */", 
      "@@ -777,10 +771,7 @@ free(void * address)", 
      "* in the hope that the swap space attached to those pages will be", 
      "* released as well.", 
      "*/", 
      "-\tif ( EF_PROTECT_FREE )", 
      "-\t    Page_Delete(slot->internalAddress, slot->internalSize);", 
      "-\telse", 
      "-\t    Page_DenyAccess(slot->internalAddress, slot->internalSize);", 
      "+\tPage_Delete(slot->internalAddress, slot->internalSize);", 
      "", 
      "previousSlot = slotForInternalAddressPreviousTo(slot->internalAddress);", 
      "nextSlot = slotForInternalAddress("
    ]
  ]
]