Revision: 9820
Author: [email protected]
Date: Mon Mar 7 09:15:21 2011
Log: Records names of JSNI calls and callbacks in SpeedTracer events.
Review at http://gwt-code-reviews.appspot.com/1356806
http://code.google.com/p/google-web-toolkit/source/detail?r=9820
Modified:
/trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java
/trunk/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java Mon
Feb 7 13:29:15 2011
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java Mon
Mar 7 09:15:21 2011
@@ -110,6 +110,9 @@
"Invoke native method " + name, null);
Event javaToJsCallEvent =
SpeedTracerLogger.start(DevModeEventType.JAVA_TO_JS_CALL);
+ if (SpeedTracerLogger.jsniCallLoggingEnabled()) {
+ javaToJsCallEvent.addData("name", name);
+ }
CompilingClassLoader isolatedClassLoader = getIsolatedClassLoader();
JsValueOOPHM jsthis = new JsValueOOPHM();
=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
Wed Aug 11 07:24:43 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/OophmSessionHandler.java
Mon Mar 7 09:15:21 2011
@@ -115,6 +115,16 @@
JsValueOOPHM jsThis = new JsValueOOPHM();
channel.convertToJsValue(cl, localObjects, thisVal, jsThis);
+ if (SpeedTracerLogger.jsniCallLoggingEnabled()) {
+ DispatchClassInfo clsInfo =
cl.getClassInfoByDispId(methodDispatchId);
+ if (clsInfo != null) {
+ Member member = clsInfo.getMember(methodDispatchId);
+ if (member != null) {
+ jsToJavaCallEvent.addData("name", member.toString());
+ }
+ }
+ }
+
TreeLogger branch = TreeLogger.NULL;
if (logger.isLoggable(TreeLogger.SPAM)) {
StringBuffer logMsg = new StringBuffer();
=======================================
---
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
Wed Feb 23 12:33:24 2011
+++
/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
Mon Mar 7 09:15:21 2011
@@ -76,6 +76,11 @@
private static final boolean logOverheadTime =
getBooleanProperty("gwt.speedtracer.logOverheadTime");
+ // Disable logging of JSNI calls and callbacks to reduce memory usage
where
+ // the heap is already tight.
+ private static final boolean jsniCallLoggingEnabled =
+ !getBooleanProperty("gwt.speedtracer.disableJsniLogging");
+
/**
* Represents a node in a tree of SpeedTracer events.
*/
@@ -438,6 +443,13 @@
get();
}
+ /**
+ * Returns true if JSNI calls and callbacks are being logged.
+ */
+ public static boolean jsniCallLoggingEnabled() {
+ return jsniCallLoggingEnabled;
+ }
+
/**
* Adds a LOG_MESSAGE SpeedTracer event to the log. This represents a
single
* point in time and has a special representation in the SpeedTracer UI.
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors