Mercurial > hg > graal-compiler
changeset 5250:0f6f647e8a96
bug fix: can only use HotSpot code for constructing a StackTraceElement when the bci is valid
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 18 Apr 2012 23:19:58 +0200 |
parents | 2d26d5ca2e5b |
children | 467de393651a |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/ri/HotSpotMethodResolvedImpl.java |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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); }