Slava Pestov
76499a3ce3
IRGen: Emit immediate class member offset global variable
...
Not used to access metadata members just yet.
2017-12-19 02:58:35 -07:00
Slava Pestov
354f4989e1
IRGen: Store type declaration in the NominalMetadataLayout
2017-12-19 00:36:47 -08:00
Slava Pestov
e65d3a7019
IRGen: Note metadata size offset in metadata layout
2017-12-19 00:36:47 -08:00
Slava Pestov
5dcc6b13ed
IRGen: Count number of immediate class members in ClassMetadataLayout
2017-12-07 14:21:59 -08:00
Slava Pestov
c19478ab3f
IRGen: Offset::offsetBy() should take an Offset and a Size
2017-12-07 14:21:58 -08:00
Slava Pestov
3ab5b6fa19
IRGen/Runtime: Remove parent field from type metadata
...
We no longer need this for anything, so remove it from metadata
altogether. This simplifies logic for emitting type metadata and
makes type metadata smaller.
We still pass the parent metadata pointer to type constructors;
removing that is a separate change.
2017-09-25 15:45:17 -07:00
Slava Pestov
293f50251a
IRGen: Another MetadataScanner => MetadataLayout refactoring
2017-08-15 01:32:12 -04:00
Slava Pestov
72c4974212
IRGen: Store start of vtable in MetadataLayout
2017-08-15 01:31:23 -04:00
Slava Pestov
aa20f404e9
IRGen: Remove MetadataSizer
2017-08-10 22:14:21 -07:00
Slava Pestov
9f6507cee8
IRGen: Use MetadataLayout in more places
2017-08-10 19:42:24 -07:00
Slava Pestov
ea5a99a3f7
IRGen: Record start of field offset vector in StructMetadataLayout
2017-08-09 01:07:08 -07:00
Slava Pestov
f7152c0979
IRGen: Tabs-to-spaces for MetadataLayout.cpp
2017-08-09 01:07:08 -07:00
John McCall
4e48bc0ff7
Cache type-metadata layouts instead of using scanners everywhere. NFC.
...
Also counts as incremental work towards metadata resilience.
2017-08-03 04:13:53 -04:00