Commit Graph

4604 Commits

Author SHA1 Message Date
swift-ci
f3d88bd1a1 Merge remote-tracking branch 'origin/master' into master-next 2017-03-27 10:29:48 -07:00
adrian-prantl
b433e5339e Merge pull request #8344 from adrian-prantl/31253373
Debugger type mangling: Pass GenericEnvironment separate from DeclContext
2017-03-27 10:13:14 -07:00
swift-ci
1a15901908 Merge remote-tracking branch 'origin/master' into master-next 2017-03-27 02:08:44 -07:00
Slava Pestov
6f57167380 IRGen: Small simplification 2017-03-27 00:25:12 -07:00
swift-ci
69e4b3b579 Merge remote-tracking branch 'origin/master' into master-next 2017-03-26 10:28:42 -07:00
John McCall
57ecaa7fae Add begin_access and end_access instructions.
NFC because we're not actually emitting them.
2017-03-26 04:37:05 -04:00
Adrian Prantl
b872127b66 Debgger type mangling: Pass GenericEnvironment separate from DeclContext.
This fixes a crash while building the Swift standard library when
partial specializations are enabled.

Eventually we should get rid of needing the DeclContext in the mangled
typename at all, and this is one step towards that goal.

rdar://problem/31253373
2017-03-25 14:09:14 -07:00
swift-ci
77256de568 Merge remote-tracking branch 'origin/master' into master-next 2017-03-24 02:28:44 -07:00
Slava Pestov
7aabd80898 SIL: Stub out TypeConverter::getOverriddenVTableEntry()
This replaces SILDeclRef::getBaseOverriddenVTableEntry(). It lives
in the TypeConverter because it needs to use type lowering information
to determine if the method requires a new vtable entry or not.
2017-03-24 01:53:39 -07:00
Slava Pestov
ef7f6bf0ea SIL: Stub out TypeConverter::requiresNewVTableEntry() 2017-03-24 01:52:42 -07:00
swift-ci
eea67b3d8c Merge remote-tracking branch 'origin/master' into master-next 2017-03-23 20:08:44 -07:00
swift-ci
8cf4f182ea Merge remote-tracking branch 'origin/master' into master-next 2017-03-23 18:28:53 -07:00
Slava Pestov
b42675c235 IRGen: Use SILVTableVisitor instead of bespoke member traversal 2017-03-23 18:17:42 -07:00
Arnold Schwaighofer
af1278753a Merge pull request #8267 from aschwaighofer/irgen_outline_dynamic_value_in_buffer_functions
IRGen: Outline dynamic allocate/project/deallocateValueInBuffer functions
2017-03-23 18:10:13 -07:00
Huon Wilson
655fa58620 [IRGen] Expose LinkEntity and ValueWitness publicly. 2017-03-23 15:58:29 -07:00
swift-ci
ad9bde1ec3 Merge remote-tracking branch 'origin/master' into master-next 2017-03-22 17:48:50 -07:00
Roman Levenstein
e3bc23cc09 Merge pull request #8253 from swiftix/wip-gsb-layout-constrains-fixes
[GSB] Improve handling of layout constraints
2017-03-22 17:36:05 -07:00
Roman Levenstein
4e2262944d Extend the representation of layout constraints
- Add support for _Class and _NativeClass layout constraints, which are supposed to represent T: Superclass and P: class constraints in the future.
- Use the re-factoring to also reduce the number of dynamic allocations when creating layout constraints. Simple non-parametrized layout constraints are now represented as statically allocated singletons (static members of LayoutConstraintInfo).
2017-03-22 16:37:38 -07:00
Arnold Schwaighofer
3ab228767d IRGen: Outline dynamic allocate/project/deallocateValueInBuffer functions 2017-03-22 08:51:58 -07:00
Saleem Abdulrasool
15565c116a Adjust for SVN r298393 2017-03-22 07:44:03 -07:00
swift-ci
495a91e977 Merge remote-tracking branch 'origin/master' into master-next 2017-03-21 18:48:47 -07:00
Erik Eckstein
7dba148726 IRGen: Private witness table utilities should have private linkage. 2017-03-21 17:53:17 -07:00
swift-ci
68cf59e250 Merge remote-tracking branch 'origin/master' into master-next 2017-03-21 17:28:44 -07:00
Saleem Abdulrasool
70771a8975 IRGen: fix construction of ArrayRef
The type deduction may fail due to no explicit conversion to the
ArrayRef data type.  Add explicit casts.  Use the sizeof operator on the
value being constructed rather than the explicit type of the value to
allow the size to be deduced from the value.
2017-03-21 14:59:07 -07:00
swift-ci
d4f2d44d22 Merge remote-tracking branch 'origin/master' into master-next 2017-03-21 13:08:51 -07:00
Arnold Schwaighofer
5634280307 Use the inline value buffer for allocate/project/deallocateValueBuffer functions
Also handle fixed size types.
2017-03-21 11:45:12 -07:00
swift-ci
bc9fe2e87e Merge remote-tracking branch 'origin/master' into master-next 2017-03-20 12:08:42 -07:00
Erik Eckstein
d70bfc5de2 rename namespace NewMangling -> Mangle 2017-03-20 10:09:30 -07:00
swift-ci
6edb8c3a59 Merge remote-tracking branch 'origin/master' into master-next 2017-03-17 17:48:44 -07:00
Erik Eckstein
1625345b90 Remove the old mangler.
NFC
2017-03-17 16:10:36 -07:00
swift-ci
ba006df1e7 Merge remote-tracking branch 'origin/master' into master-next 2017-03-17 14:48:50 -07:00
Arnold Schwaighofer
ecb8b15261 IRGen: Fix partial_apply of instantiated generic return values
We might have to reabstract the return type.

SR-4253
2017-03-17 13:30:53 -07:00
swift-ci
0943c4ecb0 Merge remote-tracking branch 'origin/master' into master-next 2017-03-17 06:48:42 -07:00
Arnold Schwaighofer
abe18607be IRGen: A value is allocated outline if size *or* alignment of the fixed size
buffer does not match
2017-03-16 19:14:32 -07:00
swift-ci
8841e0a71a Merge remote-tracking branch 'origin/master' into master-next 2017-03-16 12:48:42 -07:00
Arnold Schwaighofer
a4c6af1968 Merge pull request #8122 from aschwaighofer/cow_existential_runtime
Runtime changes for the copy-on-write existential implementation
2017-03-16 12:48:35 -07:00
swift-ci
d973d8e79a Merge remote-tracking branch 'origin/master' into master-next 2017-03-16 12:08:43 -07:00
swift-ci
c5df122e59 Merge pull request #8115 from adrian-prantl/31066290 2017-03-16 12:00:34 -07:00
swift-ci
0fdab36068 Merge remote-tracking branch 'origin/master' into master-next 2017-03-15 15:28:42 -07:00
Arnold Schwaighofer
d5cbb0bd62 Runtime changes for the copy-on-write existential implementation
Adds the runtime implementation for copy-on-write existentials. This support is
enabled if SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS is defined. Focus is on
correctness -- not performance yet.

Don't use allocate/deallocate/projectBuffer witnesses for globals in cow
existential mode.

Use SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS configuration to set the default for
SILOptions.

This includes an IRGen fix to use the right projection in
emitMetatypeOfOpaqueExistential if SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS is set.

Use unknownRetain instead of native retain in dynamicCastToExistential.
2017-03-15 14:54:55 -07:00
Adrian Prantl
082d36a6bb Debug Info: Make the lookup of VariableValues deterministic.
No deterministically observable functional change.

rdar://problem/31066290
2017-03-15 12:26:55 -07:00
Erik Eckstein
a16beaea3c Remove the now usused ConformanceCollector utility.
It was used for dead witness table elimination. But this is done now by lazy emission in IRGen.
Also update DeadFunctionElimination.
NFC.
2017-03-15 10:18:18 -07:00
swift-ci
471f244890 Merge remote-tracking branch 'origin/master' into master-next 2017-03-14 22:48:43 -07:00
John McCall
0c446c41d1 Merge pull request #8104 from rjmccall/farewell-to-archetype-access-paths
IRGen's archetype access path hack is now dead code, RIP.  NFC.
2017-03-15 01:40:23 -04:00
swift-ci
f64e9ca6c1 Merge remote-tracking branch 'origin/master' into master-next 2017-03-14 21:28:44 -07:00
John McCall
720481d2f6 IRGen's archetype access path hack is now dead code, RIP. NFC. 2017-03-14 22:00:27 -04:00
Erik Eckstein
1e2945d63c IRGen: Consider the conforming type’s accessibility for lazy witness table emission.
...instead of the witness table’s linkage.
The WT linkage is derived from the minimum of the type’s and protocol’s visibility.
So if there is a public type conforming to a private protocol, we might not see the type’s metadata escaping (because it could be in another module).
2017-03-14 17:36:27 -07:00
swift-ci
65d0b94941 Merge remote-tracking branch 'origin/master' into master-next 2017-03-14 15:08:50 -07:00
Erik Eckstein
1144bf0a95 IRGen: fix comment 2017-03-14 13:27:19 -07:00
swift-ci
843217f2d5 Merge remote-tracking branch 'origin/master' into master-next 2017-03-14 12:28:43 -07:00