Commit Graph

58 Commits

Author SHA1 Message Date
Joe Groff
0f017fcb4a ABI: NonTypeMetadata_First value for MetadataKind.
Swift SVN r4555
2013-03-30 22:48:13 +00:00
Joe Groff
4397944ea5 Runtime: Fix swift_dynamicCast.
The "Kind" field for class metadata is an isa pointer and not a member of MetadataKind, and so the switch in swift_dynamicCast was falling out and casting to an uninitialized pointer. Guard Metadata behind some accessor methods that do the right thing and update dynamicCast.

Swift SVN r4525
2013-03-28 23:32:01 +00:00
John McCall
59d4677b35 Implement metatype references to ObjC classes.
The interesting thing here is that we need runtime support in
order to generate references to metatypes for classes, mostly
because normal ObjC classes don't have all the information we want
in a metatype (which for now just means the VWT pointer).
We'll need to be able to reverse this mapping when finding a
class pointer to hand off to, say, an Objective-C class method,
of course.

Swift SVN r3424
2012-12-10 08:17:57 +00:00
John McCall
3c053a7b98 In preparation for shifting the metadata layout, widen
the metadata kind field to a full word.

Swift SVN r3183
2012-11-14 08:45:29 +00:00
John McCall
23651be7ef Don't distinguish between generic and non-generic types in
the metadata kind.

I don't think this is actually a particularly useful thing
to track, especially since a non-generic type can be
generically parented or have a generic superclass or two.

Swift SVN r3182
2012-11-14 08:45:24 +00:00
John McCall
dda270495f Add a runtime entrypoint to map up a level of metatype.
Swift SVN r3179
2012-11-14 08:45:13 +00:00
John McCall
a695354dc1 Make heap metadata use the metadata scheme.
Swift SVN r2871
2012-09-19 06:33:41 +00:00
John McCall
73540dcd6d Extract out a header from Metadata.h to hold random shareable
things.

Swift SVN r2869
2012-09-19 06:33:31 +00:00