Rajiv Mirani

Learn More
With an increasing number of executable binaries generated by optimizing compilers today, providing a clear and correct source-level debugger for programmers to debug optimized code has become a necessity. In this paper, a new framework for debugging globally optimized code is proposed. This framework consists of a new code location mapping scheme, a data(More)
Explicitly parallel functional languages typically use metalinguistics annotations to provide control over parallel evaluation. In this paper we explore more flexible mechanisms to control when and where an expression is evaluated: firstclass schedules and processors. We discuss the advantages of using first-class objects over traditional annotation-based(More)
We present a new concurrency abstraction and implementation technique for high-level (symbolic) parallel languages that allows significant programmer control over load-balancing and mapping of fine-grained lightweight threads. Central to our proposal is the notion of a virtual topology. A virtual topology defines a relation over a collection of virtual(More)
Parallel functional languages often use meta-linguistic annotations to provide control over parallel evaluation. In this paper we explore a flexible mechanism to control when an expression is evaluated: <i>first-class monadic schedules</i>. We discuss the advantages of using such first-class values over traditional annotation-based systems. In particular,(More)
  • 1