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(); TypeListUniquing = new SILTypeListUniquingType();
SILLoader = SerializedSILLoader::create(getASTContext(), this, SILLoader = SerializedSILLoader::create(getASTContext(), this,
Callback.get()); Callback.get());
SILLoader->getAllVTables();
SILLoader->getAllWitnessTables();
} }
SILModule::~SILModule() { 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 var staticProp: Int = 0
sil @globalinit_func0 : $@thin () -> () 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 { // CHECK-LABEL: sil public_external @_TFV18lazy_global_access4Type10staticPropSia : $@thin () -> Builtin.RawPointer {
sil @_TFV18lazy_global_access4Type10staticPropSia : $@thin () -> Builtin.RawPointer { sil @_TFV18lazy_global_access4Type10staticPropSia : $@thin () -> Builtin.RawPointer {
bb0: bb0:
@@ -927,8 +918,8 @@ class Foo {
var y: Int var y: Int
} }
// The check line for this function is at the top of the file due to how // CHECK-LABEL: sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int
// declarations are printed. // CHECK_DECL-LABEL: sil @_TFC3tmp3Foog9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Foo) -> Int{{$}}
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): bb0(%0 : $Int, %1 : $Int, %2 : $Foo):
%3 = tuple () %3 = tuple ()
@@ -948,8 +939,8 @@ bb0(%0 : $Int, %1 : $Int, %2 : $Foo):
return %13 : $Int return %13 : $Int
} }
// The check line for this function is at the top of the file due to how // CHECK-LABEL: sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> ()
// declarations are printed. // CHECK_DECL-LABEL: sil @_TFC3tmp3Foos9subscriptFT1xSi1ySi_Si : $@cc(method) @thin (Int, Int, Int, Foo) -> (){{$}}
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): bb0(%0 : $Int, %1 : $Int, %2 : $Int, %3 : $Foo):
%4 = alloc_stack $Int // var value // users: %16, %5 %4 = alloc_stack $Int // var value // users: %16, %5