# HG changeset patch # User Doug Simon # Date 1334783998 -7200 # Node ID 0f6f647e8a9608c5a13efe6c6517ae082645e5ae # Parent 2d26d5ca2e5b8b51f7607a6d941a749605c60df3 bug fix: can only use HotSpot code for constructing a StackTraceElement when the bci is valid diff -r 2d26d5ca2e5b -r 0f6f647e8a96 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/ri/HotSpotMethodResolvedImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/ri/HotSpotMethodResolvedImpl.java Wed Apr 18 17:56:53 2012 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/ri/HotSpotMethodResolvedImpl.java Wed Apr 18 23:19:58 2012 +0200 @@ -155,6 +155,11 @@ @Override public StackTraceElement toStackTraceElement(int bci) { + if (bci < 0 || bci >= codeSize) { + // HotSpot code can only construct stack trace elements for valid bcis + StackTraceElement ste = compiler.getVMEntries().RiMethod_toStackTraceElement(this, 0); + return new StackTraceElement(ste.getClassName(), ste.getMethodName(), ste.getFileName(), -1); + } return compiler.getVMEntries().RiMethod_toStackTraceElement(this, bci); }