diff options
author | Joseph Tremoulet <jotrem@microsoft.com> | 2016-12-29 17:02:18 -0500 |
---|---|---|
committer | Joseph Tremoulet <jotrem@microsoft.com> | 2017-02-08 09:32:46 -0500 |
commit | 463502f9e70e39cd460091298b338a065b8631f2 (patch) | |
tree | 6ed7e8bf9a720e23b48c89ec8a8c1ce204f1506b /src/jit/compmemkind.h | |
parent | 5501ecb0855f295c0c60c3743c440badd5d67d61 (diff) | |
download | coreclr-463502f9e70e39cd460091298b338a065b8631f2.tar.gz coreclr-463502f9e70e39cd460091298b338a065b8631f2.tar.bz2 coreclr-463502f9e70e39cd460091298b338a065b8631f2.zip |
Introduce `MemoryKind` abstraction
Re-cast the notion of "heap" (in liveness, SSA, and value-numbering) as
one of potentially many `MemoryKind`s, called `GcHeap`. Update names,
comments, data structures, and signatures as appropriate to parameterize
relevant data/methods over `MemoryKind`. This change is a no-diff
refactoring, and currently `GcHeap` is the only `MemoryKind`. Generally,
codepaths which will generically need to process all `MemoryKinds`s
(initializing, dumping, dataflow propagation) now iterate over all
`MemoryKinds`, and codepaths which are sensitive to the semantics of the
specific `MemoryKind` (def/use identification in liveness and value
numbering) are changed to specifically operate on `MemoryKind::GcHeap`.
One notable exception is that `lvMemoryPerSsaData` and `CountForMemoryDef`
are *not* parameterized over `MemoryKind`; there's a single "space" of SSA
defnums for memory defs (though the same tree can incur different defs for
different memory kinds [in which case their defnums will differ]), to
facilitate subsequently sharing SSA nodes across memory kinds when
appropriate.
Diffstat (limited to 'src/jit/compmemkind.h')
-rw-r--r-- | src/jit/compmemkind.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jit/compmemkind.h b/src/jit/compmemkind.h index e27d2071f7..b22bf6de1e 100644 --- a/src/jit/compmemkind.h +++ b/src/jit/compmemkind.h @@ -39,7 +39,7 @@ CompMemKindMacro(IndirAssignMap) CompMemKindMacro(FieldSeqStore) CompMemKindMacro(ZeroOffsetFieldMap) CompMemKindMacro(ArrayInfoMap) -CompMemKindMacro(HeapPhiArg) +CompMemKindMacro(MemoryPhiArg) CompMemKindMacro(CSE) CompMemKindMacro(GC) CompMemKindMacro(CorSig) |