Fix parallel code gen in RT backend
Compare changes
+ 36
− 32
@@ -138,6 +138,7 @@ struct RTContext<'a> {
@@ -138,6 +138,7 @@ struct RTContext<'a> {
@@ -268,8 +269,9 @@ impl<'a> RTContext<'a> {
@@ -268,8 +269,9 @@ impl<'a> RTContext<'a> {
@@ -416,6 +418,14 @@ impl<'a> RTContext<'a> {
@@ -416,6 +418,14 @@ impl<'a> RTContext<'a> {
@@ -558,12 +568,14 @@ impl<'a> RTContext<'a> {
@@ -558,12 +568,14 @@ impl<'a> RTContext<'a> {
@@ -572,17 +584,19 @@ impl<'a> RTContext<'a> {
@@ -572,17 +584,19 @@ impl<'a> RTContext<'a> {
@@ -1079,14 +1093,14 @@ impl<'a> RTContext<'a> {
@@ -1079,14 +1093,14 @@ impl<'a> RTContext<'a> {
"let mut async_call_channel_{} = ::async_std::channel::bounded(1);let async_call_sender_{} = ::std::sync::Arc::new(async_call_channel_{}.0);let async_call_receiver_{} = ::std::sync::Arc::new(async_call_channel_{}.1);",
@@ -1353,40 +1367,30 @@ impl<'a> RTContext<'a> {
@@ -1353,40 +1367,30 @@ impl<'a> RTContext<'a> {
"{{for fut in fork_{}.drain(..) {{ fut.await; }}; ::std::sync::atomic::fence(::std::sync::atomic::Ordering::Acquire); reduce_{}}}",