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
22ad20a5df
TBDGen: Emit class method dispatch thunks
2017-12-18 23:28:33 -08:00
David Ungar
51d3165874
NFC: Clarifying uses of NumThreads.
...
Add hasMultipleGMs predicate to SILOptions.
Rename parameters to TBD file handling to better reflect abstraction boundary.
fix
2017-12-16 13:58:01 -08:00
Slava Pestov
3392b6d8b9
SIL: Remove unused parameter from SILWitnessTable::conformanceIsSerialized()
2017-10-26 23:58:50 -07:00
Roman Levenstein
48d9b99675
Remove -sil-serialize-witness-tables flag completely
...
The functionality is always enabled now and there is no need to have a dedicated flag for it.
2017-10-20 19:45:29 -07:00
Huon Wilson
a6e4fdb887
[Frontend] Add -tbd-install_name frontend argument.
2017-08-02 11:33:54 -07:00
Huon Wilson
17f09653f4
[TBDGen] NFC: move TBDGenVisitor to its own header.
2017-08-02 11:33:21 -07:00
Huon Wilson
26e69df03f
[SILGen] MaterializeForSet closures should never be serialized and private.
...
If the closure is serialized, it needs to be shared.
2017-07-24 14:03:38 -07:00
Huon Wilson
47e89676ea
[TBDGen] Class inits can appear in extensions, not just ClassDecls.
2017-07-13 15:22:00 -07:00
Huon Wilson
d3f92cbcaf
[TBDGen] #if's can appear inside protocols.
2017-07-10 15:15:00 -07:00
Huon Wilson
4f13de3616
[TBDGen] Generic classes have field offsets too.
2017-07-06 17:41:19 -07:00
Huon Wilson
7678e43720
[TBDGen] Include materializeForSet closures.
...
This is a hack around IRGen's inadequacies, for the moment.
2017-07-06 17:31:59 -07:00
Huon Wilson
a560ea15f1
[TBDGen] Include all transparent symbols.
...
This is a vast overestimate, but is better than missing some.
rdar://problem/32254773
2017-06-30 11:17:51 -07:00
Huon Wilson
483e4cf173
[TBDGen] Static variables in the main file have accessors.
...
It is only top-level globals in the main file that do not have
accessors, something like class Foo { static var x = 0 } has them no
matter where it is.
Fixes rdar://problem/32391290 .
2017-06-22 18:46:59 -07:00
Huon Wilson
f1f9694912
[NFC] Improve some code clarity in SIL and TBDGen.
2017-06-22 15:16:53 -07:00
Huon Wilson
a0bc3bd0b6
[AST] Move getEffectiveAccess calls into SIL.
2017-06-20 17:34:48 -07:00
Huon Wilson
296f23189b
[TBDGen] Protocol witnesses thunks for members of public superprotocols are public.
...
Specifically, public superprotocols of non-public protocols have some
weird handling in SILGen, so we reproduce this.
Fixes rdar://problem/32254485 .
2017-06-19 15:00:12 -07:00
Huon Wilson
8d455a4991
[TBDGen] Explicitly walk members of stored static vars.
...
Unlike some other vars, these members are not also listed at the top
level, adjacent to the VarDecl.
2017-06-19 14:53:21 -07:00
Huon Wilson
002e4d5314
[TBDGen] Include extra allocating constructors instead of missing some.
...
Fixes rdar://problem/32253697 .
2017-06-19 14:53:21 -07:00
Huon Wilson
fed23ed40d
[TBDGen] Include both direct and indirect field offsets.
...
It is semantically incorrect to miss a symbol, and just misleading to
include an incorrect one in the TBD file (and, it would take a compiler
bug to actually try to reference one from some downstream code), so it
is better to err on the side of including extra symbols than missing
some.
For now, computing the actual directness of a field is difficult, so
let's include both of them.
Fixes rdar://problem/32253411 .
2017-06-19 14:53:21 -07:00
practicalswift
fff77b01c7
[gardening] Remove unused variables
2017-05-05 17:03:02 +02:00
Huon Wilson
697d1ff507
[TBDGen] Global variables in main file don't have accessors.
2017-04-26 16:57:54 -07:00
Huon Wilson
a190b7d171
[TBDGen] @objc protocols don't have descriptors.
2017-04-26 16:57:53 -07:00
Huon Wilson
ee265748e1
[TBDGen] Default arguments in public functions have public symbols.
2017-04-26 16:57:53 -07:00
Huon Wilson
ee1afc8434
[TBDGen] SubscriptDecls don't get symbols.
2017-04-26 16:57:53 -07:00
practicalswift
797c2d8118
[gardening] Fix end of namespace comments
2017-04-20 22:01:01 +02:00
practicalswift
431e5a1440
[gardening] Use consistent end of namespace comments
2017-04-20 13:47:10 +02:00
practicalswift
a41a501c56
Merge pull request #8835 from practicalswift/gardening-20170418
...
[gardening] Fix URLs. Fix spacing. Remove unused methods. Fix headers.
2017-04-18 22:59:00 +02:00
Huon Wilson
e619cef863
Merge pull request #8836 from huonw/symbol-list-6
...
TBD 6: extension conformances, fix bad tests.
2017-04-18 12:40:49 -07:00
Huon Wilson
d40b8fa5e2
[TBDGen] Conformances in extensions.
2017-04-18 11:14:19 -07:00
Huon Wilson
53b4e7044f
Merge pull request #8822 from huonw/symbol-list-5
...
Yet more TBDGen work: mostly classes.
2017-04-18 11:04:57 -07:00
practicalswift
74f8c89e22
[gardening] Remove unused function isaAnd(…)
2017-04-18 19:52:42 +02:00
practicalswift
7eb7d5b109
[gardening] Fix 100 typos.
2017-04-18 17:01:42 +02:00
Huon Wilson
fb8abcf3c0
[TBDGen] Resilient classes can have indirect fields.
2017-04-17 17:15:16 -07:00
Huon Wilson
78dcc1be28
[TBDGen] ObjC classes don't have public destructors.
2017-04-17 17:15:16 -07:00
Huon Wilson
1297647702
[TBDGen] ObjC classes and metaclasses.
2017-04-17 17:15:07 -07:00
Huon Wilson
aaf3006bb4
[TBDGen] Only normal conformances get symbols.
2017-04-17 11:27:56 -07:00
Huon Wilson
dbc9d8eaaa
[TBDGen] main is a symbol.
2017-04-14 17:16:58 -07:00
Huon Wilson
7bedb6fdd5
[TBDGen] Generic types have fewer symbols.
2017-04-14 17:06:53 -07:00
Huon Wilson
e5acdd42fc
[TBDGen] Handle private/internal methods on open classes.
2017-04-14 10:13:11 -07:00
Huon Wilson
22c9e20a9d
[IRGen] Completely remove witness table offsets.
...
These are unused.
2017-04-13 11:44:01 -07:00
Huon Wilson
04aa385f27
[TBDGen] Non-allocating class constructor/destructor.
2017-04-13 11:42:54 -07:00
Huon Wilson
fce992ff8b
[TBDGen] Class direct field offsets.
2017-04-13 11:41:29 -07:00
Huon Wilson
6cccddf39a
[TBDGen] Class metaclasses, when interacting with ObjC.
2017-04-13 11:40:50 -07:00
Huon Wilson
520f186c4f
[TBDGen] Class witness table offsets.
2017-04-13 11:39:50 -07:00
Huon Wilson
2446db55ed
[TBDGen] Stored property initializers.
2017-04-13 11:38:58 -07:00
Huon Wilson
cdd2cdd68f
[TBDGen] Clean-up.
2017-04-13 11:36:50 -07:00
Huon Wilson
345c8e8ee3
[TBDGen] Assert that protocols look like we expect.
2017-04-13 11:36:50 -07:00
Huon Wilson
53d80be1e3
[TBDGen] Transparent symbols don't exist.
2017-04-13 11:36:50 -07:00
Huon Wilson
c0f1dcec71
[TBDGen] Say irgen::, irgen::, irgen::, irgen:: less.
2017-04-06 17:51:33 -07:00