[PATCH] Write references to Native format in NativeReferenceIvarsV2.

Nick Kledzik kledzik at apple.com
Mon Nov 18 13:21:55 PST 2013


On Nov 18, 2013, at 1:11 PM, Rui Ueyama <ruiu at google.com> wrote:

> On Mon, Nov 18, 2013 at 1:05 PM, kledzik at apple.com <kledzik at apple.com> wrote:
> 
>   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.
> 
> Then we should name NativeReferenceIvars16 and NativeReferenceIvars64 because V2 is not really a newer version of V1. 

In the file format, each struct can evolve independently.   Think of “V” as “Variant" not “Version".  It was not meant to imply that a larger version is “better” than a smaller.

If you rename the current one to NativeReferenceIvars16, what happens when we add some new concept to the atom model and need to add a field to a new variant of NativeReferenceIvars for object files that need the new concept?  

-Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131118/ba786807/attachment.html>


More information about the llvm-commits mailing list