File tree Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -200,6 +200,8 @@ pub mod jit {
200200 }
201201 }
202202
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.
203205 fn engine_key ( _: ~Engine ) { }
204206
205207 #[ cfg( not( stage0) ) ]
@@ -213,6 +215,8 @@ pub mod jit {
213215 pub fn consume_engine ( ) -> Option < ~Engine > {
214216 unsafe { local_data:: pop ( engine_key) }
215217 }
218+ #[ cfg( stage0) ]
219+ pub fn consume_engine ( ) -> Option < ~Engine > { None }
216220}
217221
218222pub mod write {
Original file line number Diff line number Diff line change @@ -332,7 +332,11 @@ pub fn monitor(f: ~fn(diagnostic::Emitter)) {
332332
333333 let _finally = finally { ch: ch } ;
334334
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( )
336340 } {
337341 result:: Ok ( _) => { /* fallthrough */ }
338342 result:: Err ( _) => {
You can’t perform that action at this time.
0 commit comments