different outline window in IGV

Haluk Dogan hlk.dogan at gmail.com
Mon Sep 11 02:33:11 UTC 2017


I checked the OptimisticOptimizations class. Is the following Optimization
enum class only the optimization plans in Graal?

public enum Optimization {
        RemoveNeverExecutedCode,
        UseTypeCheckedInlining,
        UseTypeCheckHints,
        UseExceptionProbabilityForOperations,
        UseExceptionProbability,
        UseLoopLimitChecks
    }

Thanks.

Haluk

On Thu, Aug 31, 2017 at 11:30 AM, Christian Wimmer <
christian.wimmer at oracle.com> wrote:

> 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/a00ce39133db463fc93a59
> 63f62060de295c5db0/compiler/src/org.graalvm.compiler.
> truffle/src/org/graalvm/compiler/truffle/TruffleCompiler.java#L232
>
> [2] https://github.com/graalvm/graal/blob/a00ce39133db463fc93a59
> 63f62060de295c5db0/compiler/src/org.graalvm.compiler.
> truffle/src/org/graalvm/compiler/truffle/hotspot/HotSp
> otTruffleCompiler.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=DwMF
>> aQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=8_4sWLyE-
>> J7cW7yn2ZjXxOIuQGXx5VR-eUMNh-IO-MM&m=ZDTxJqhtEVh20GvfZzX7exR
>> JBqRaqKrJ-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/Publicatio
>> ns.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=ZDTxJqhtEVh20Gvf
>> ZzX7exRJBqRaqKrJ-htYdiZd-cc&s=Xb0Ck0tNuTZ0-xmIQPLtO6PRulDCt2
>> kx7Rta_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
>>
>


-- 
HD


More information about the graal-dev mailing list