Patch title: Release 85 bulk changes
Abstract:
File: /pliant/language/context/memory.pli
Key:
    Removed line
    Added line
scope "/pliant/language/" "/pliant/install/"
module "/pliant/install/ring3.pli"
module "/pliant/install/ring2.pli"
module "/pliant/appli/database/light.pli"

function test_memory -> mem
  arg Intn mem
  if os_api="linux"
    os_sysinfo (gvar os_sysinfo sys)
    mem := sys totalram
  eif os_api="posix"
    if not (os_sysctl:"hw.physmem" parse mem)
      mem := 0
  eif os_api="win32"
    os_GlobalMemoryStatus (var os_MEMORYSTATUS ms)
    mem := ms dwTotalPhys
  else
    mem := 0
  if (data_read "security:/this_computer.pdb" "/hardware/memory/capacity" (var Int m))=success
    mem := m*2n^20

public
  constant memory_physical test_memory
  gvar Intn memory_assigned := shunt memory_physical>0 memory_physical\4 2^30
  gvar Int memory_assigned := shunt memory_physical>0 memory_physical\4 32*2^20
  gvar Int memory_overflow := undefined

function test_assigned
  if (data_read "security:/this_computer.pdb" "/env/pliant/memory/assigned" (var Int m))=success
    memory_assigned := m*2n^20  
  if (data_read "security:/this_computer.pdb" "/env/pliant/memory/overflow" (var Int m))=success
    memory_overflow := m*2^20  
test_assigned


function no_overflow_control
  void
entry_root addressof:(the_function no_overflow_control)

function memory_overflow_control
  if memory_overflow=defined and memory_current_consumed>memory_overflow
    pliant_memory_post_extend_hook := (the_function no_overflow_control) executable
    memory_sem release
    error error_id_starvation "too much memory consumed"
    memory_sem request
entry_root addressof:(the_function memory_overflow_control)

pliant_memory_post_extend_hook := (the_function memory_overflow_control) executable