Mandy Chung wrote:
6879044: Eliminate the dependency of logging from the JRE core/awt/swing
classes
Webrev:
http://cr.openjdk.java.net/~mchung/6879044/webrev.00/
Summary:
1. A new sun.util.logging.PlatformLogger class that will handle the log
messages in a similar way as Logger but it will only delegate to
java.util.logging only when it is enabled. LogManager and LogRecord are
modified to support the platform loggers. The users of PlatformLogger
will continue to run if java.util.logging classes do not exist.
2. AWT, 2D, Swing, and a few java.util classes are modified to use
PlatformLogger instead of Logger. Although many files are modified, the
change is mostly replacement with classname.
I have quickly looked through AWT/2D changes and haven't found anything
suspicious. A funny typo is noticed in X11 key logging (see XToolkit or
XWindow for examples): logger name is sun.awt.X11.kye instead of
sun.awt.X11.key - but anyway it's not your fault :)
AWT statically creates a number of loggers. Running a simple AWT Framer
application with JDK 7 b71 creates 79 loggers on solaris-i586 and 34
loggers on windows-i586. SwingSet2 creates a total of 85 loggers
including a few non-awt ones on solaris-i586 and 35 on windows-i586).
Although the memory usage might not be very high (especially with this
fix), I don't see the need of having many fine-grained loggers. This
fix doesn't address this the number of AWT loggers. I file a separate CR
(6880089) to revisit it.
Thanks.
Startup Performance:
This change does not have significant startup performance improvement,
as expected. However, it does reduce the number of loaded classes
(Framer app loads 16 fewer classes and jedit loads 13 fewer classes).
Thanks
Mandy
Thanks,
Artem