File tree 2 files changed +9
-1
lines changed
2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -200,6 +200,8 @@ pub mod jit {
200
200
}
201
201
}
202
202
203
+ // The stage1 compiler won't work, but that doesn't really matter. TLS
204
+ // changed only very recently to allow storage of owned values.
203
205
fn engine_key ( _: ~Engine ) { }
204
206
205
207
#[ cfg( not( stage0) ) ]
@@ -213,6 +215,8 @@ pub mod jit {
213
215
pub fn consume_engine ( ) -> Option < ~Engine > {
214
216
unsafe { local_data:: pop ( engine_key) }
215
217
}
218
+ #[ cfg( stage0) ]
219
+ pub fn consume_engine ( ) -> Option < ~Engine > { None }
216
220
}
217
221
218
222
pub mod write {
Original file line number Diff line number Diff line change @@ -332,7 +332,11 @@ pub fn monitor(f: ~fn(diagnostic::Emitter)) {
332
332
333
333
let _finally = finally { ch: ch } ;
334
334
335
- f( demitter)
335
+ f( demitter) ;
336
+
337
+ // Due reasons explain in #7732, if there was a jit execution context it
338
+ // must be consumed and passed along to our parent task.
339
+ back:: link:: jit:: consume_engine( )
336
340
} {
337
341
result:: Ok ( _) => { /* fallthrough */ }
338
342
result:: Err ( _) => {
You can’t perform that action at this time.
0 commit comments