[Truffle] who's in charge of escape-analysis?

Garcia Gutierrez Miguel Alfredo miguelalfredo.garcia at epfl.ch
Thu Aug 22 03:53:17 PDT 2013


Thomas,

So far I haven't delved too deeply into ownership-types myself (or better yet, using that information the JIT way).

A showcase of the interplay with VMs is explored in:
Uniqueness and reference immutability for safe parallelism
http://dl.acm.org/citation.cfm?id=2384619

When discussing their prototype, they mention some optimizations (not sure how many working already). Quoting:

> 6.4 Optimizations
>
> Reference immutability enables some new optimizations in
> the compiler and runtime system. For example, the concurrent
> GC can use weaker read barriers for immutable data.
> The compiler can perform more code motion and caching,
> and an MSIL-to-native pass can freeze immutable data into
> the binary.


As a counterpoint to the above, an approach more runtime-based than typer-based (also for parallelism) is covered in:

The Tasks with Effects model for safe concurrency
http://dl.acm.org/citation.cfm?id=2442540


Anyway, I'll get more familiar with Truffle first.


Miguel
http://magarciaepfl.github.io/scala/


--
Miguel Garcia
Swiss Federal Institute of Technology
EPFL - IC - LAMP1 - INR 328 - Station 14
CH-1015 Lausanne - Switzerland
http://lamp.epfl.ch/~magarcia/

________________________________________
From: Thomas Wuerthinger [thomas.wuerthinger at oracle.com]
Sent: Thursday, August 22, 2013 11:59 AM
To: Garcia Gutierrez Miguel Alfredo
Cc: graal-dev at openjdk.java.net
Subject: Re: [Truffle] who's in charge of escape-analysis?

Miguel,

The escape analysis currently only works on the Java level without additional "hints" via the Truffle API. The main possible hint we've been thinking about so far is to tell the compiler that it does not have to provide correct results for the "==" operator for instances of a specific class. This would be a first step towards value types and open more opportunities for the partial escape analysis of those instances.

I'm not familiar with the concept of "ownership type systems", but it sounds like something that would be expressed as part of one particular Truffle language implementation.

- thomas

On Aug 22, 2013, at 11:04 AM, Garcia Gutierrez Miguel Alfredo <miguelalfredo.garcia at epfl.ch> wrote:

>
> In particular, whether the Truffle "runtime" tracks any additional "ownership information" (as in "ownership type systems") is tracked as part of Truffle nodes.
>
> (with that information "reified" as runtime values, usages beyond those supported by Graal's EA are conceivable, for example parallelism)
>
>
> Miguel
> http://magarciaepfl.github.io/scala/
>
>
> --
> Miguel Garcia
> Swiss Federal Institute of Technology
> EPFL - IC - LAMP1 - INR 328 - Station 14
> CH-1015 Lausanne - Switzerland
> http://lamp.epfl.ch/~magarcia/



More information about the graal-dev mailing list