Break out LocalChanges into a separate functor.
commit69567bf8848a33b66b2febb875b3c67c99faa260
authorJulia Pitts (they/she) <wipi@fb.com>
Mon, 19 Nov 2018 19:21:47 +0000 (19 11:21 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 19 Nov 2018 19:27:19 +0000 (19 11:27 -0800)
tree5aa19888944b27f1fa61320d5b72baf56e89ea12
parent253be04340b6658c1dc4ab5e7c8ef44b67aef452
Break out LocalChanges into a separate functor.

Summary: `LocalChanges` is really tightly wrapped up with our usual shared memory access, which makes it difficult to change how we do direct shared memory access (such as by adding profiling) without putting it directly into `Raw`, even if we would like to functorize it and make it optional.  This change breaks out `Raw` (renamed to `Immediate`) and `LocalChanges` into separate modules/functors so that in later diffs we'll be able to swap out the lowest level of shared memory access (well, the lowest OCaml level of it).

Reviewed By: samwgoldman, jamesjwu

Differential Revision: D13052451

fbshipit-source-id: 608a1424fc9bba5a10fe74cac7a19acab692dc9b
hphp/hack/src/heap/sharedMem.ml