different outline window in IGV

Christian Wimmer christian.wimmer at oracle.com
Thu Aug 31 16:30:23 UTC 2017


You have full control over optimization phases that Graal performs: When 
Graal is invoked for Truffle [1], the "suites" parameter specifies the 
optimization phases that are applied. For Truffle, we use the default 
suites [2], but you can do any modification to the suites that you want, 
i.e., remove phases or add your own custom phases.

-Christian

[1] 
https://github.com/graalvm/graal/blob/a00ce39133db463fc93a5963f62060de295c5db0/compiler/src/org.graalvm.compiler.truffle/src/org/graalvm/compiler/truffle/TruffleCompiler.java#L232

[2] 
https://github.com/graalvm/graal/blob/a00ce39133db463fc93a5963f62060de295c5db0/compiler/src/org.graalvm.compiler.truffle/src/org/graalvm/compiler/truffle/hotspot/HotSpotTruffleCompiler.java#L45



On 08/31/2017 07:21 AM, Haluk Dogan wrote:
> So, we actually don't have the control for optimization levels and 
> particular optimization methods like in the gcc[1]. Am I wrong?
> 
> I tried "mx ideinit" and import all the projects to my workspace, 
> however, I had a long list in the "Problems" window mostly related with 
> jvmci. I build graal with "labsjdk1.8.0_141-jvmci-0.33". I'll try again 
> with cloning fresh repository.
> 
> Thanks.
> 
> [1] http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html 
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__gcc.gnu.org_onlinedocs_gcc_Optimize-2DOptions.html&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=8_4sWLyE-J7cW7yn2ZjXxOIuQGXx5VR-eUMNh-IO-MM&m=ZDTxJqhtEVh20GvfZzX7exRJBqRaqKrJ-htYdiZd-cc&s=IfJm2WUrevCcoKYTs5NRNWiRIa2ClpN5z-Wbz0U1JbI&e=>
> 
> On Thu, Aug 31, 2017 at 12:02 AM, Christian Wimmer 
> <christian.wimmer at oracle.com <mailto:christian.wimmer at oracle.com>> wrote:
> 
>     The best (but of course reasonably complex) example for custom
>     compilations is Truffle. When you look at code like the class
>     TruffleCompiler, you see how a custom StructuredGraph is created
>     (using the PartialEvaluator class), compiled using the standard
>     Graal compilation pipeline (but with some custom providers like a
>     more aggressive constant folding of field loads), and installed into
>     the VM's code cache.
> 
>     I think our version of JDK 8 is easier for experiments compared to
>     Java 9 because you don't run in any module issues, and it is also
>     our main development platform. When you run "mx ideinit", you get
>     all the IDE setup for Eclipse, NetBeans, or IntelliJ (including the
>     correct setup of the projects to include the JVMCI classes).
> 
>     -Christian
> 
> 
> 
>     On 8/29/2017 11:16 AM, Haluk Dogan wrote:
> 
>         Hi,
> 
>         Is there any examples for custom compilation with Graal? I'm
>         interested in
>         this part "Applications can call Graal like a library to perform
>         custom
>         compilations" as shown in slide 82 of "2017_PLDI_GraalTutorial.pdf".
>         However, I was not able to make any progress.
> 
>         I created an Intellij project and set 9ea14-zulu as my compiler.
>         Then, I
>         tried to run GraalTutorial, but had errors related to undefined
>         modules. If
>         I changed the compiler to "labsjdk1.8.0_141-jvmci-0.33", then I
>         am getting
>         errors for importing jdk.vm.ci.code.*
> 
>         Is there any guideline to set up a project, so that I can call
>         Graal like a
>         library?
> 
>         Thanks.
> 
>         Best,
>         Haluk
> 
>         On Mon, Aug 28, 2017 at 12:52 PM, Christian Wimmer <
>         christian.wimmer at oracle.com
>         <mailto:christian.wimmer at oracle.com>> wrote:
> 
>             Hi Haluk,
> 
>             There is an updated version of the Graal tutorial from PLDI
>             2017 (linked
>             from [1]), where the command lines reflect the state from
>             June 2017. But
>             things change quickly in the Graal world, so it is difficult
>             to keep a
>             presentation up-to-date.
> 
>             -Christian
> 
>             [1]
>             https://github.com/graalvm/graal/blob/master/docs/Publications.md
>             <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_graalvm_graal_blob_master_docs_Publications.md&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=8_4sWLyE-J7cW7yn2ZjXxOIuQGXx5VR-eUMNh-IO-MM&m=ZDTxJqhtEVh20GvfZzX7exRJBqRaqKrJ-htYdiZd-cc&s=Xb0Ck0tNuTZ0-xmIQPLtO6PRulDCt2kx7Rta_s0Fxpo&e=>
> 
> 
> 
> 
>             On 08/28/2017 09:00 AM, Haluk Dogan wrote:
> 
>                 Hi,
> 
>                 I'm playing with Graal to get more understanding about
>                 the technology. I
>                 run the following command:
> 
>                 mx unittest -XX:+UseJVMCICompiler -Dgraal.Dump
>                 -D:MethodFilter=String.hashCode
>                 GraalTutorial#testStringHashCode
> 
>                 However, the screen I have for Outline window is
>                 different than the
>                 Christian Wimmer's "Graal Tutorial at CGO 2015". What
>                 parameters should I
>                 add to get the same window?
> 
>                 Thanks.
> 
>                 Best,
>                 Haluk
> 
> 
> 
> 
> 
> 
> 
> -- 
> HD


More information about the graal-dev mailing list