2009/3/30 Vikram S. Adve <span dir="ltr"><<a href="mailto:vadve@cs.uiuc.edu">vadve@cs.uiuc.edu</a>></span><br><div class="gmail_quote"><br>[snip]<br><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


-- On the other hand, explicitly parallel languages like Java should<br>
be able to compile to the 'spawn' instruction but finding 'join'<br>
points is much more difficult.  E.g., there are ways to express<br>
"ordering" synchronization that could require non-trivial<br>
interprocedural analysis to extract.<br>
</blockquote></div>One paradigm that I had in mind when proposing join intrinsic was join calculus where join points are defined explicitly thus simplifying their discovery. There has been some work to extend Java with it (Hardware Join Java) and also there are extensions to C#, VB and OCaml while the language Comega was designed around join calculus. Compared to these languages I guess Java would be explicit in spawning but implicit in joining :)<br>

<br>Milos.<br>