[OpenJDK 2D-Dev] RFR: 8144526: Remove Marlin logging use of deleted internal API
Phil Race
philip.race at oracle.com
Wed Dec 2 18:38:36 UTC 2015
https://bugs.openjdk.java.net/browse/JDK-8144526
MarlinUtils uses internal API that has been deleted as part of the new
StackWalker.
I need to integrate right now and I don't have time to re-write this.
In any case it is only used to get a class name to put into a logging
message which
is currently completely disabled anyway (no way to enable without
recompiling).
So I changing the method that it always returns unknown and we can
rework afterwards.
My diff is below :-
-phil.
hg diff MarlinUtils.java
diff --git
a/src/java.desktop/share/classes/sun/java2d/marlin/MarlinUtils.java
b/src/java.desktop/share/classes/sun/java2d/marlin/MarlinUtils.java
--- a/src/java.desktop/share/classes/sun/java2d/marlin/MarlinUtils.java
+++ b/src/java.desktop/share/classes/sun/java2d/marlin/MarlinUtils.java
@@ -25,8 +25,6 @@
package sun.java2d.marlin;
-import jdk.internal.misc.JavaLangAccess;
-import jdk.internal.misc.SharedSecrets;
public final class MarlinUtils {
// TODO: use sun.util.logging.PlatformLogger once in JDK9
@@ -70,31 +68,6 @@
String sourceClassName = null;
String sourceMethodName = null;
- JavaLangAccess access = SharedSecrets.getJavaLangAccess();
- Throwable throwable = new Throwable();
- int depth = access.getStackTraceDepth(throwable);
-
- boolean lookingForClassName = true;
- for (int ix = 0; ix < depth; ix++) {
- // Calling getStackTraceElement directly prevents the VM
- // from paying the cost of building the entire stack frame.
- StackTraceElement frame =
access.getStackTraceElement(throwable, ix);
- String cname = frame.getClassName();
- if (lookingForClassName) {
- // Skip all frames until we have found the first frame
having the class name.
- if (cname.equals(className)) {
- lookingForClassName = false;
- }
- } else {
- if (!cname.equals(className)) {
- // We've found the relevant frame.
- sourceClassName = cname;
- sourceMethodName = frame.getMethodName();
- break;
- }
- }
- }
-
if (sourceClassName != null) {
return sourceClassName + " " + sourceMethodName;
} else {
More information about the 2d-dev
mailing list