@@ -26,7 +26,7 @@ import SIL
26
26
/// destruct this data structure, e.g. in a `defer {}` block.
27
27
struct Stack < Element> : CollectionLikeSequence {
28
28
29
- private let context : PassContext
29
+ private let bridgedContext : BridgedPassContext
30
30
private var firstSlab = BridgedSlab ( data: nil )
31
31
private var lastSlab = BridgedSlab ( data: nil )
32
32
private var endIndex : Int = 0
@@ -61,7 +61,8 @@ struct Stack<Element> : CollectionLikeSequence {
61
61
}
62
62
}
63
63
64
- init ( _ context: PassContext ) { self . context = context }
64
+ init ( _ context: PassContext ) { self . bridgedContext = context. _bridged }
65
+ init ( _ context: ModulePassContext ) { self . bridgedContext = context. _bridged }
65
66
66
67
func makeIterator( ) -> Iterator {
67
68
return Iterator ( slab: firstSlab, index: 0 , lastSlab: lastSlab, endIndex: endIndex)
@@ -77,11 +78,11 @@ struct Stack<Element> : CollectionLikeSequence {
77
78
78
79
mutating func push( _ element: Element ) {
79
80
if endIndex >= Stack . slabCapacity {
80
- lastSlab = PassContext_allocSlab ( context . _bridged , lastSlab)
81
+ lastSlab = PassContext_allocSlab ( bridgedContext , lastSlab)
81
82
endIndex = 0
82
83
} else if firstSlab. data == nil {
83
84
assert ( endIndex == 0 )
84
- firstSlab = PassContext_allocSlab ( context . _bridged , lastSlab)
85
+ firstSlab = PassContext_allocSlab ( bridgedContext , lastSlab)
85
86
lastSlab = firstSlab
86
87
}
87
88
( Stack . bind ( lastSlab) + endIndex) . initialize ( to: element)
@@ -109,12 +110,12 @@ struct Stack<Element> : CollectionLikeSequence {
109
110
110
111
if endIndex == 0 {
111
112
if lastSlab. data == firstSlab. data {
112
- _ = PassContext_freeSlab ( context . _bridged , lastSlab)
113
+ _ = PassContext_freeSlab ( bridgedContext , lastSlab)
113
114
firstSlab. data = nil
114
115
lastSlab. data = nil
115
116
endIndex = 0
116
117
} else {
117
- lastSlab = PassContext_freeSlab ( context . _bridged , lastSlab)
118
+ lastSlab = PassContext_freeSlab ( bridgedContext , lastSlab)
118
119
endIndex = Stack . slabCapacity
119
120
}
120
121
}
0 commit comments