--- old/src/java.base/share/classes/java/lang/StackFrameInfo.java 2016-04-11 14:14:47.000000000 -0700 +++ new/src/java.base/share/classes/java/lang/StackFrameInfo.java 2016-04-11 14:14:47.000000000 -0700 @@ -29,12 +29,9 @@ import static java.lang.StackWalker.Option.*; import java.lang.StackWalker.StackFrame; -import java.lang.reflect.Module; -import java.util.Optional; -import java.util.OptionalInt; class StackFrameInfo implements StackFrame { - private final static JavaLangInvokeAccess jlInvokeAccess = + private final static JavaLangInvokeAccess JLIA = SharedSecrets.getJavaLangInvokeAccess(); // Footprint improvement: MemberName::clazz can replace @@ -54,7 +51,7 @@ this.walker = walker; this.declaringClass = null; this.bci = -1; - this.memberName = jlInvokeAccess.newMemberName(); + this.memberName = JLIA.newMemberName(); } @Override @@ -70,25 +67,12 @@ @Override public String getMethodName() { - return jlInvokeAccess.getName(memberName); - } - - @Override - public final Optional getFileName() { - StackTraceElement ste = toStackTraceElement(); - return ste.getFileName() != null ? Optional.of(ste.getFileName()) : Optional.empty(); - } - - @Override - public final OptionalInt getLineNumber() { - StackTraceElement ste = toStackTraceElement(); - return ste.getLineNumber() > 0 ? OptionalInt.of(ste.getLineNumber()) : OptionalInt.empty(); + return JLIA.getName(memberName); } @Override public final boolean isNativeMethod() { - StackTraceElement ste = toStackTraceElement(); - return ste.isNativeMethod(); + return JLIA.isNative(memberName); } @Override