Revert "[deserialization] Deserialize WitnessTables/VTables in SILModule, not in SILLinking."

This reverts commit r14623. I will recommit this when I reenable deserialization
of witness tables/vtables. This will enable the deserialization of SILFunctions
by default from the stdlib by avoiding the lack of external witness
tables/vtables.

Swift SVN r14786
This commit is contained in:
Michael Gottesman
2014-03-07 19:27:01 +00:00
parent 01c963dc6a
commit ba6ac196f6
3 changed files with 10 additions and 15 deletions

View File

@@ -84,8 +84,7 @@ SILModule::SILModule(Module *SwiftModule)
TypeListUniquing = new SILTypeListUniquingType();
SILLoader = SerializedSILLoader::create(getASTContext(), this,
Callback.get());
SILLoader->getAllVTables();
SILLoader->getAllWitnessTables();
}
SILModule::~SILModule() {

View File

@@ -137,4 +137,9 @@ void swift::performSILLinking(SILModule *M, bool LinkAll) {
}
}
}
if (LinkAll) {
SILLoader->getAllVTables();
SILLoader->getAllWitnessTables();
}
}

View File

@@ -11,15 +11,6 @@ sil_global private @globalinit_token0 : $Builtin.Word
var staticProp: Int = 0
sil @globalinit_func0 : $@thin () -> ()
// The actual corresponding code for this is below. The reason it is separated
// from its source is that declarations are printed before definitions causing
// matching ordering issues.
// CHECK-LABEL: sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int
// CHECK_DECL-LABEL: sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int{{$}}
// CHECK-LABEL: sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> ()
// CHECK_DECL-LABEL: sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> (){{$}}
// CHECK-LABEL: sil public_external @_TFV18lazy_global_access4Type10staticPropSia : $@thin () -> Builtin.RawPointer {
sil @_TFV18lazy_global_access4Type10staticPropSia : $@thin () -> Builtin.RawPointer {
bb0:
@@ -927,8 +918,8 @@ class Foo {
var y: Int
}
// The check line for this function is at the top of the file due to how
// declarations are printed.
// CHECK-LABEL: sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int
// CHECK_DECL-LABEL: sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int{{$}}
sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int {
bb0(%0 : $Int, %1 : $Int, %2 : $Foo):
%3 = tuple ()
@@ -948,8 +939,8 @@ bb0(%0 : $Int, %1 : $Int, %2 : $Foo):
return %13 : $Int
}
// The check line for this function is at the top of the file due to how
// declarations are printed.
// CHECK-LABEL: sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> ()
// CHECK_DECL-LABEL: sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> (){{$}}
sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> () {
bb0(%0 : $Int, %1 : $Int, %2 : $Int, %3 : $Foo):
%4 = alloc_stack $Int // var value // users: %16, %5