<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 18, 2013 at 1:05 PM, <a href="mailto:kledzik@apple.com">kledzik@apple.com</a> <span dir="ltr"><<a href="mailto:kledzik@apple.com" target="_blank">kledzik@apple.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
  Beside compatibility with existing files (which we don't have yet), there is another reason for V1 vs V2: size.  The NativeReferenceIvar is twice the size (8 bytes vs 4 bytes).  There will be a lot of these in files.  We should have both structs.  When a native object file is written, the Writer should see if everything is small enough that just NativeReferenceIvarsV1 structs can be used.  If not, it uses NativeReferenceIvarsV2. The Reader should always handle both.<br>

</blockquote><div><br></div><div>Then we should name NativeReferenceIvars16 and NativeReferenceIvars64 because V2 is not really a newer version of V1. </div></div></div></div>