Add a way to specify optimisitic optimizations when compiling using GraalRuntime

Douglas Simon doug.simon at oracle.com
Tue Apr 3 23:48:34 PDT 2012


On Apr 3, 2012, at 11:47 PM, Rémi Forax wrote:

> On 04/03/2012 04:47 PM, Thomas Wuerthinger wrote:
>> Thanks for your third patch within a couple of days! You keep us quite busy here, which is great ;).
> 
> In fact, this patch introduces a kind of worm, it adds a dependency between graal.nodes
> and graal.compiler but graal.compiler also transitively depends on graal.nodes
> and the mx script seems not able to cope with circular dependencies :(

That is an explicit design decision. Circular dependencies are heavily discouraged! ;-)

Maybe you can explain why you need a dependency from graal.nodes to graal.compiler and we can suggest another way to solve the issue.

-Doug

> 
> diff --git a/mx/projects b/mx/projects
> --- a/mx/projects
> +++ b/mx/projects
> @@ -69,13 +69,6 @@
> project at com.oracle.graal.snippets@checkstyle=com.oracle.graal.graph
> project at com.oracle.graal.snippets@javaCompliance=1.7
> 
> -# graal.nodes
> -project at com.oracle.graal.nodes@subDir=graal
> -project at com.oracle.graal.nodes@sourceDirs=src,test
> -project at com.oracle.graal.nodes@dependencies=com.oracle.max.cri,com.oracle.graal.graph
> -project at com.oracle.graal.nodes@checkstyle=com.oracle.graal.graph
> -project at com.oracle.graal.nodes@javaCompliance=1.7
> -
> # graal.compiler
> project at com.oracle.graal.compiler@subDir=graal
> project at com.oracle.graal.compiler@sourceDirs=src
> @@ -83,6 +76,13 @@
> project at com.oracle.graal.compiler@checkstyle=com.oracle.graal.graph
> project at com.oracle.graal.compiler@javaCompliance=1.7
> 
> +# graal.nodes
> +project at com.oracle.graal.nodes@subDir=graal
> +project at com.oracle.graal.nodes@sourceDirs=src,test
> +project at com.oracle.graal.nodes@dependencies=com.oracle.max.cri,com.oracle.graal.graph,com.oracle.graal.compiler
> +project at com.oracle.graal.nodes@checkstyle=com.oracle.graal.graph
> +project at com.oracle.graal.nodes@javaCompliance=1.7
> +
> # graal.java
> project at com.oracle.graal.java@subDir=graal
> project at com.oracle.graal.java@sourceDirs=src
> diff --git a/mxtool/mx.py b/mxtool/mx.py
> --- a/mxtool/mx.py
> +++ b/mxtool/mx.py
> @@ -180,6 +180,8 @@
>         """
>         if self in deps:
>             return deps
> +        if includeSelf:
> +            deps.append(self)
>         for name in self.deps:
>             assert name != self.name
>             dep = _libs.get(name, None)
> @@ -190,8 +192,6 @@
>                 dep = project(name)
>                 if not dep in deps:
>                     dep.all_deps(deps, includeLibs)
> -        if not self in deps and includeSelf:
> -            deps.append(self)
>         return deps
> 
>     def _compute_max_dep_distances(self, name, distances, dist):
> 



More information about the graal-dev mailing list