Issue with a "Deoptimize not in a block", and method invalidation/re-optimization

Stefan Marr Stefan.Marr at vub.ac.be
Fri Oct 11 09:31:55 PDT 2013


Hi:

I spent some time on 'trufflizing' TruffleSOM, i.e., I tried to use the Truffle-DSL to a larger extend and I tried to avoid manually evaluating nodes were the DSL should be able to do the work.

However, I am now running into issues with Graal, which I haven't been able to track down.

The first issue is the following exception: "SchedulingError: 25893|Deoptimize should already have been placed in a block".
Looking at the graph of nodes and the stack in the debugger does unfortunately not help me with figuring out where that Deoptimize is coming from. The reason of the Deopt was set to something like "Null Check Exception", if I remember correctly.

How could I go about to figure out where that's coming from?

Another issues is with a specific benchmark [2]. Here I have methods that get constantly invalidated and optimized again.
Any tips on how to trace these issues down would be greatly appreciate.

Thanks a lot
Stefan



The code is available via:
  git clone --recursive https://github.com/smarr/TruffleSOM.git
  cd TruffleSOM
  ant tests


[1] ./mx.sh --vm server vm -Xbootclasspath/a:$SOM/build/classes:$SOM/libs/com.oracle.truffle.api.jar:$SOM/libs/com.oracle.truffle.api.dsl.jar som.vm.Universe -cp $SOM/Smalltalk $SOM/Examples/Benchmarks/All.som

[2] ./mx.sh --vm server vm -Xbootclasspath/a:$SOM/build/classes:$SOM/libs/com.oracle.truffle.api.jar:$SOM/libs/com.oracle.truffle.api.dsl.jar som.vm.Universe -cp $SOM/Smalltalk $SOM/Examples/Benchmarks/List.som



-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525



More information about the graal-dev mailing list