Truffle update instructions?

Andreas Woess andreas.woess at oracle.com
Wed Apr 15 13:48:33 UTC 2015


Hi Stefan,

The non-inlined calls to frame methods are definitely a performance 
issue. While I lifted the inlining cut off in a recent changeset, you 
still want to make sure these are inlined during partial evaluation, 
since (a) it's not guaranteed Graal will inline them and (b) they delay 
other optimizations. The reason appears to be once again the 
MaterializedFrame field in SBlock.context: in the new version of the 
partial evaluator, the type check needed to turn the interface call into 
an inlinable special call is inserted only after partial evaluation is 
finished. You can probably fix the problem (and the warning) by wrapping 
a type profile around the context frame (ValueProfile.createClassProfile()).

- andreas

On 15/04/15 13:25, Stefan Marr wrote:
> Hi:
>
> In the non-TruffleDSL related changes of last night was something that fixed some of my TruffleSOM benchmarks.
>
> However, there are still huge slowdowns.
> Will investigate further.
>
> On the positive side, some of the benchmarks show nice improvements for warmup times.
>
> http://som-speed.stefan-marr.de/changes/?tre=10&rev=975521543086049df4471ae1dde279fdd1e34db2&exe=9&env=1
>
> Best regards
> Stefan
>
>> On 14 Apr 2015, at 23:00, Stefan Marr <java at stefan-marr.de> wrote:
>>
>> Hi Christian:
>>
>>
>>> On 09 Apr 2015, at 22:23, christian.humer at gmail.com wrote:
>>>
>>> […] -G:+PrintTruffleExpansionHistogram […]
>>>
>>> You can also run with -G:+TraceTrufflePerformanceWarnings which may also show you potential problems (Note that this tool also outputs a few false positives).
>> Ok, those two tools point at similar things. The histogram shows that there are remaining calls that are not inlined. And the same is pointed out by the performance warnings.
>>
>> It looks like this:
>>
>> [truffle] perf warn        not inlined Special call to HotSpotMethod<FrameWithoutBoxing.getLong(FrameSlot)> (20|MethodCallTarget)
>> [truffle] perf warn        not inlined Special call to HotSpotMethod<FrameWithoutBoxing.setLong(FrameSlot, long)> (43|MethodCallTarget)
>> [truffle] perf warn        not inlined Special call to HotSpotMethod<FrameWithoutBoxing.getArguments()> (102|MethodCallTarget)
>> [truffle] perf warn        non-leaf type checkcast: Lsom/vmobjects/SObject; (118|CheckCast)
>> [truffle] perf warn        non-leaf type instanceof: Lsom/vmobjects/SObject; (116|InstanceOf)
>>
>> I also see those calls in IGV.
>> It looks to me like the basic frame access are not compiled for some reason.
>>
>> Is that about right? Any idea what the cause could be?
>>
>> Thanks
>> Stefan
>>
>> PS: I updated to the latest Graal version of today.
>>
>> -- 
>> Stefan Marr
>> INRIA Lille - Nord Europe
>> http://stefan-marr.de/research/
>>
>>
>>



More information about the graal-dev mailing list