It'd be useful to provide a mechanism for a class/method to request filtering from stack trace.
For example, lambda proxy classes are implementation details. Showing it in the stack trace does not provide useful information while it makes the stack trace longer. Reflection implementation classes are good candidate to be filtered as well. VM has special handling of @java.lang.invoke.LambdaForm.Hidden annotation and also skip reflection frames to find the caller of @CS method.
java.lang.Throwable
StackTraceTest.lambda$0(StackTraceTest.java:6)
StackTraceTest$$Lambda$1.run(Unknown Source)
StackTraceTest.main(StackTraceTest.java:8)
For example, lambda proxy classes are implementation details. Showing it in the stack trace does not provide useful information while it makes the stack trace longer. Reflection implementation classes are good candidate to be filtered as well. VM has special handling of @java.lang.invoke.LambdaForm.Hidden annotation and also skip reflection frames to find the caller of @CS method.
java.lang.Throwable
StackTraceTest.lambda$0(StackTraceTest.java:6)
StackTraceTest$$Lambda$1.run(Unknown Source)
StackTraceTest.main(StackTraceTest.java:8)
- relates to
-
JDK-8243287 Removal of Unsafe::defineAnonymousClass
-
- Resolved
-
-
JDK-8171335 MethodHandle.Lookup functionality to define a nestmate class
-
- Closed
-
-
JDK-8268526 Lambdas are hidden inconsistently in stack traces.
-
- Closed
-
-
JDK-8025636 Hide lambda proxy frames in stacktraces
-
- Resolved
-
-
JDK-8213234 Move LambdaForm.Hidden to jdk.internal.vm.annotation
-
- Resolved
-