diff options
author | Anton Lapounov <antonl@microsoft.com> | 2016-01-20 04:47:59 +0300 |
---|---|---|
committer | Anton Lapounov <antonl@microsoft.com> | 2016-01-20 04:47:59 +0300 |
commit | 9110707510ef360f9e93feeacb1de83d7f3d3b8f (patch) | |
tree | 5837f8694e6ea3edebcfcad4252ad0e59944b894 /src/Native/Runtime/ICodeManager.h | |
parent | edbd36cfb8493001eeb82d36a21830cae64954c9 (diff) |
Add GS cookie offset to GC info format.
The old format is binary compatible with the new one, which means programs compiled with the old tool chain should work with the new runtime. Since we had no free bits left in the first 4 bytes of the header (at least on x64), I repurposed the dynamicAlign bit to indicate there is extra data about the frame. At present that extra data consist of dynamic stack alignment and GS cookie offset (both of which are optional). I reserved three bits to allow future extensions of this extra data section. The gsCookieOffset field is inserted after the epilogCount field to improve memory layout.
CR: petersol, jkotas
[tfs-changeset: 1566536]
Diffstat (limited to 'src/Native/Runtime/ICodeManager.h')
-rw-r--r-- | src/Native/Runtime/ICodeManager.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Native/Runtime/ICodeManager.h b/src/Native/Runtime/ICodeManager.h index 98878df11..45fb761c5 100644 --- a/src/Native/Runtime/ICodeManager.h +++ b/src/Native/Runtime/ICodeManager.h @@ -39,8 +39,8 @@ enum GCRefKind : unsigned char // class MethodInfo { - TADDR dummyPtrs[6]; - Int32 dummyInts[6]; + TADDR dummyPtrs[5]; + Int32 dummyInts[8]; }; class EHEnumState |