Regression for TraceTruffleCompilationDetails?

Stefan Marr java at stefan-marr.de
Mon Dec 16 02:13:34 PST 2013


Hi:

I am running here into a class cast exception when using -G:+TraceTruffleCompilationDetails:

java.lang.ClassCastException: com.oracle.graal.truffle.nodes.frame.NewFrameNode cannot be cast to com.oracle.graal.nodes.ConstantNode
	at com.oracle.graal.truffle.PartialEvaluator.expandTree(PartialEvaluator.java:193)

The corresponding line is:
 ConstantNode constantNode = (ConstantNode) methodCallTargetNode.arguments().first();

However, the first argument is not a ConstantNode but a NewFrameNode (the new frame node looks like one of mine, i.e., for a TruffleSOM method call).

The targetMethod of is `HotSpotMethod<FrameWithoutBoxing.getObject(FrameSlot)>`.

The problem can be triggered for instance with the following TruffleSOM benchmark:

./mx.sh -d --vm server vm  -G:+TraceTruffleCompilationDetails -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/BenchmarkHarness.som Loop 1 100 100

I suppose the receiver is here expected to be constant to print out tracing information, but it isn’t in my case.

Is there perhaps some simple work-around possible?

Thanks
Stefan

To check out TruffleSOM:

git clone --recursive https://github.com/smarr/TruffleSOM.git
  cd TruffleSOM
  ant jar
  cd $GRAAL

-- 
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