Proposed API for JEP 259: Stack-Walking API

Jason Mehrens jason_mehrens at hotmail.com
Mon Nov 2 14:42:53 UTC 2015


Mandy,

Thread.dumpStack should generate the stacktrace elements then capture System.err into a local var and lock it while writing the output.  That would be compatible with what was done before.

Jason

________________________________________
From: core-libs-dev <core-libs-dev-bounces at openjdk.java.net> on behalf of Mandy Chung <mandy.chung at oracle.com>
Sent: Friday, October 30, 2015 2:04 PM
To: core-libs-dev
Subject: Proposed API for JEP 259: Stack-Walking API

JEP 259:  http://openjdk.java.net/jeps/259

Javadoc for the proposed StackWalker API:
   http://cr.openjdk.java.net/~mchung/jdk9/jep259/api/java/lang/StackWalker.html

A simple way to walk the stack:

   StackWalker walker = new StackWalker(StackWalker.Option.CLASS_REFERENCE);
   walker.walk((s) ->  s.filter(f -> interestingClasses.contains(f.getDeclaringClass())).findFirst());

The current usage of sun.reflect.Reflection.getCallerClass(int depth) can be replaced with this StackWalker API.

Any feedback on the proposed API is appreciated.

Mandy

P.S. webrev of the current implementation:
   http://cr.openjdk.java.net/~mchung/jdk9/jep259/webrev.00/










More information about the core-libs-dev mailing list