GraalError

Josef Eisl josef.eisl at jku.at
Tue Oct 25 15:52:34 UTC 2016


Hey Andrew!

On 25/10/16 17:32, Andrew Haley wrote:
> On 25/10/16 16:23, christian.wimmer at oracle.com wrote:
> 
>> This is usually an error in the LIR construction, which is
>> architecture specific.
> 
> Aha!  That makes sense.
> 
>> It means that a virtual register is used before it is defined, or on
>> a path where it is not defined at all.
>>
>> You need to look at the LIR in the c1visualizer tool, which you can
>> start with "mx c1visualizer". The .cfg input files for it are
>> created with the same flags that enable IR graph dumping to the IGV
>> tool.
> 
> Right.  But the compiler does not tell me which method it was trying
> to compile, so it's very hard for me to know how to get the LIR.  Is
> there some debug option to Graal I could use which would tell me what
> it was trying to compile?

You can try -Dgraal.ExitVMOnException=true to kill the VM and/or
-Dgraal.DumpOnError=true to get a dump in case of a compilation error.

> And, given that information, how would I
> dump the .cfg file?

`-Dgraal.Dump=` enables dumping in general. Maybe add
`-Dgraal.MethodFilter=method` to reduce the size of the dumps. There is
more information is in the docs [1].


- Josef


[1]:
https://github.com/graalvm/graal-core/blob/master/docs/Debugging.md#dumping


More information about the graal-dev mailing list