[gwt-contrib] [google-web-toolkit] r7883 committed - Cherry picking r7881 from trunk. This has JsniRefLookup consistently ...

2010-04-06 Thread codesite-noreply

Revision: 7883
Author: sp...@google.com
Date: Tue Apr  6 07:36:56 2010
Log: Cherry picking r7881 from trunk.  This has JsniRefLookup consistently  
ignore
method return types when analyzing method signatures.  The merge command  
was:


svn merge --ignore-ancestry -r7880:7881  
https://google-web-toolkit.googlecode.com/svn/trunk



http://code.google.com/p/google-web-toolkit/source/detail?r=7883

Modified:
  
/branches/snapshot-2010.03.29-r7809/dev/core/src/com/google/gwt/dev/jjs/impl/JsniRefLookup.java
  
/branches/snapshot-2010.03.29-r7809/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java


===
---  
/branches/snapshot-2010.03.29-r7809/dev/core/src/com/google/gwt/dev/jjs/impl/JsniRefLookup.java	 
Fri Apr  2 08:21:53 2010
+++  
/branches/snapshot-2010.03.29-r7809/dev/core/src/com/google/gwt/dev/jjs/impl/JsniRefLookup.java	 
Tue Apr  6 07:36:56 2010

@@ -156,22 +156,22 @@
 }
   }

+  /**
+   * Add a member to the table of most derived members.
+   *
+   * @param matchesBySig The table so far of most derived members
+   * @param member The member to add to it
+   * @param refSig The string used to refer to that member, possibly  
shortened

+   * @param fullSig The fully qualified signature for that member
+   */
   private static void addMember(
   LinkedHashMap>  
matchesBySig,

-  HasEnclosingType member, String refSig) {
+  HasEnclosingType member, String refSig, String fullSig) {
 LinkedHashMap matchesByFullSig =  
matchesBySig.get(refSig);

 if (matchesByFullSig == null) {
   matchesByFullSig = new LinkedHashMap();
   matchesBySig.put(refSig, matchesByFullSig);
 }
-
-String fullSig;
-if (member instanceof JField) {
-  fullSig = ((JField) member).getName();
-} else {
-  fullSig = JProgram.getJsniSig((JMethod) member);
-}
-
 matchesByFullSig.put(fullSig, member);
   }

@@ -211,15 +211,17 @@
 continue;
   }
 }
-addMember(matchesBySig, method, getJsniSignature(method, false));
-addMember(matchesBySig, method, getJsniSignature(method, true));
+String fullSig = getJsniSignature(method, false);
+String wildcardSig = getJsniSignature(method, true);
+addMember(matchesBySig, method, fullSig, fullSig);
+addMember(matchesBySig, method, wildcardSig, fullSig);
   }
 }

 // Get the fields on this class/interface.
 for (JField field : targetType.getFields()) {
   if (field.getName().equals(memberName)) {
-addMember(matchesBySig, field, field.getName());
+addMember(matchesBySig, field, field.getName(), field.getName());
   }
 }
   }
===
---  
/branches/snapshot-2010.03.29-r7809/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java	 
Fri Apr  2 08:21:53 2010
+++  
/branches/snapshot-2010.03.29-r7809/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java	 
Tue Apr  6 07:36:56 2010

@@ -153,6 +153,32 @@
   }
 });

+sourceOracle.addOrReplace(new MockJavaResource("test.DiffRetSuper") {
+  @Override
+  protected CharSequence getContent() {
+StringBuffer code = new StringBuffer();
+code.append("package test;\n");
+code.append("public interface DiffRetSuper {\n");
+code.append("  Object foo();\n");
+code.append("}\n");
+return code;
+  }
+});
+
+sourceOracle.addOrReplace(new MockJavaResource("test.DiffRetSub") {
+  @Override
+  protected CharSequence getContent() {
+StringBuffer code = new StringBuffer();
+code.append("package test;\n");
+code.append("public interface DiffRetSub extends DiffRetSuper  
{\n");

+code.append("  String foo();\n");
+code.append("}\n");
+return code;
+  }
+});
+
+addSnippetImport("test.DiffRetSub");
+
 try {
   // The snippet must reference the classes so they will be compiled in
   program = compileSnippet("void",
@@ -375,6 +401,18 @@
   HasEnclosingType res = lookup("test.Bar::foo(*)", errors);
   errors.assertHasError();
 }
+
+/*
+ * Test a lookup where the subtype has a narrower return type than the
+ * supertype.
+ */
+{
+  MockErrorReporter errors = new MockErrorReporter();
+  JMethod res = (JMethod) lookup("test.DiffRetSub::foo()", errors);
+  errors.assertNoError();
+  assertEquals("test.DiffRetSub", res.getEnclosingType().getName());
+  assertEquals("foo", res.getName());
+}
   }

   public void testInterfaces() {
@@ -446,7 +484,7 @@
   assertEquals("test.PrivateSub", res.getEnclosingType().getName());
   assertEquals("field", res.getName());
 }
-
+
 // test private entries in the superclass
 {
   MockErrorReporter errors = new MockErrorReporter();

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe, reply using "remove me" as the subje

[gwt-contrib] Changes ListRegistration to carry information about its associated handler (issue314801)

2010-04-06 Thread jgw

Reviewers: Ray Ryan,

Description:
Changes ListRegistration to carry information about its associated
handler
and range of interest. This allows ListListModel (and theoretically
other
models) to call back directly to views whose range of interest changes
without having to re-render all views.


Please review this at http://gwt-code-reviews.appspot.com/314801/show

Affected files:
  M  
bikeshed/src/com/google/gwt/bikeshed/list/client/PagingTableListView.java

  M bikeshed/src/com/google/gwt/bikeshed/list/client/SimpleCellList.java
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/AbstractListModel.java
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/AsyncListModel.java
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/ListListModel.java
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/ListModel.java
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/ListRegistration.java
  M  
bikeshed/src/com/google/gwt/sample/bikeshed/stocks/client/StocksDesktop.java
  M  
bikeshed/src/com/google/gwt/sample/bikeshed/stocks/client/StocksMobile.java
  M  
bikeshed/src/com/google/gwt/sample/bikeshed/stocks/client/TransactionTreeViewModel.java

  M bikeshed/src/com/google/gwt/sample/bikeshed/tree/TreeSample.gwt.xml
  M  
bikeshed/src/com/google/gwt/sample/bikeshed/tree/client/MyTreeViewModel.java
  M  
bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeListView.java
  M  
bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportListView.java



--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe, reply using "remove me" as the subject.


[gwt-contrib] [google-web-toolkit] r7884 committed - Change common plugin code to support alternate transports. Showcase i...

2010-04-06 Thread codesite-noreply

Revision: 7884
Author: j...@google.com
Date: Tue Apr  6 09:02:59 2010
Log: Change common plugin code to support alternate transports.  Showcase is
working again after these changes.

http://code.google.com/p/google-web-toolkit/source/detail?r=7884

Added:
 /changes/jat/csproto/plugins/common/SessionHandler.cpp
 /changes/jat/csproto/plugins/common/TransportRegistry.cpp
 /changes/jat/csproto/plugins/common/TransportRegistry.h
 /changes/jat/csproto/plugins/platform/Linux/Fragmentation.txt
Modified:
 /changes/jat/csproto/plugins/common/CheckVersionsMessage.cpp
 /changes/jat/csproto/plugins/common/ChooseTransportMessage.cpp
 /changes/jat/csproto/plugins/common/FatalErrorMessage.cpp
 /changes/jat/csproto/plugins/common/FreeValueMessage.cpp
 /changes/jat/csproto/plugins/common/HostChannel.cpp
 /changes/jat/csproto/plugins/common/HostChannel.h
 /changes/jat/csproto/plugins/common/InvokeMessage.cpp
 /changes/jat/csproto/plugins/common/InvokeSpecialMessage.cpp
 /changes/jat/csproto/plugins/common/LoadJsniMessage.cpp
 /changes/jat/csproto/plugins/common/LoadModuleMessage.cpp
 /changes/jat/csproto/plugins/common/LoadModuleMessage.h
 /changes/jat/csproto/plugins/common/Makefile
 /changes/jat/csproto/plugins/common/ProtocolVersionMessage.cpp
 /changes/jat/csproto/plugins/common/QuitMessage.h
 /changes/jat/csproto/plugins/common/ReturnMessage.cpp
 /changes/jat/csproto/plugins/common/SessionHandler.h
 /changes/jat/csproto/plugins/common/SwitchTransportMessage.cpp
 /changes/jat/csproto/plugins/common/SwitchTransportMessage.h
 /changes/jat/csproto/plugins/common/Transport.cpp
 /changes/jat/csproto/plugins/common/Transport.h

===
--- /dev/null
+++ /changes/jat/csproto/plugins/common/SessionHandler.cpp	Tue Apr  6  
09:02:59 2010

@@ -0,0 +1,24 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+
+#include "SessionHandler.h"
+
+void SessionHandler::loadModuleException(const Value& exception) {
+  // do nothing by default
+}
+
+SessionHandler::~SessionHandler() {
+}
===
--- /dev/null
+++ /changes/jat/csproto/plugins/common/TransportRegistry.cpp	Tue Apr  6  
09:02:59 2010

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+
+#include "TransportRegistry.h"
+
+#ifdef linux
+static Transport* createShmFutex(const std::string& args) {
+  return 0;
+}
+#endif
+
+const TransportRegistry::TransportEntry TransportRegistry::transports[] = {
+#ifdef Xlinux
+   {"shmfutex", true, createShmFutex},
+#endif
+   {0, false, 0},
+};
+
+std::vector TransportRegistry::getAcceptableTransports(
+bool isLocal) {
+  std::vector result;
+  for (const TransportEntry* entry = transports; entry->name; ++entry) {
+if (isLocal || !entry->localOnly) {
+  result.push_back(entry->name);
+}
+  }
+  return result;
+}
+
+Transport* TransportRegistry::createTransport(const std::string&  
transportName,

+const std::string& transportArgs) {
+  for (const TransportEntry* entry = transports; entry->name; ++entry) {
+if (transportName == entry->name) {
+  return (*entry->factory)(transportArgs);
+}
+  }
+  return 0;
+}
===
--- /dev/null
+++ /changes/jat/csproto/plugins/common/TransportRegistry.h	Tue Apr  6  
09:02:59 2010

@@ -0,0 +1,51 @@
+#ifndef __H_TransportRegistry
+#define __H_TransportRegistry
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied

[gwt-contrib] [google-web-toolkit] r7885 committed - Checkpoint building with shm+futex support in client code. Still need...

2010-04-06 Thread codesite-noreply

Revision: 7885
Author: j...@google.com
Date: Tue Apr  6 13:56:19 2010
Log: Checkpoint building with shm+futex support in client code.  Still  
needs work.


http://code.google.com/p/google-web-toolkit/source/detail?r=7885

Added:
 /changes/jat/csproto/plugins/common/ShmFutexTransport.cpp
 /changes/jat/csproto/plugins/common/ShmFutexTransport.h
 /changes/jat/csproto/plugins/platform/Linux/platform.mk
 /changes/jat/csproto/plugins/platform/Mac
 /changes/jat/csproto/plugins/platform/Posix
 /changes/jat/csproto/plugins/platform/Sun
Modified:
  
/changes/jat/csproto/dev/core/src/com/google/gwt/dev/shell/BrowserChannelServer.java

 /changes/jat/csproto/plugins/common/ChooseTransportMessage.cpp
 /changes/jat/csproto/plugins/common/DebugLevel.h
 /changes/jat/csproto/plugins/common/HostChannel.cpp
 /changes/jat/csproto/plugins/common/HostChannel.h
 /changes/jat/csproto/plugins/common/Makefile
 /changes/jat/csproto/plugins/common/TransportRegistry.cpp
 /changes/jat/csproto/plugins/config.mk
 /changes/jat/csproto/plugins/platform/Linux/Futex.cpp
 /changes/jat/csproto/plugins/platform/Linux/ShmFutex.h

===
--- /dev/null
+++ /changes/jat/csproto/plugins/common/ShmFutexTransport.cpp	Tue Apr  6  
13:56:19 2010

@@ -0,0 +1,86 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+
+#ifdef linux
+#include 
+
+// Linux-only for now
+
+#include "ShmFutexTransport.h"
+
+ShmFutexTransport::~ShmFutexTransport() {
+  // do not call the destructor since we are just the client
+  shmFutex->detach();
+}
+
+// start reading a message, return true on success
+bool ShmFutexTransport::beginReadMessage() {
+  printf("beginReadMessage\n");
+  // handle timeouts, here or in caller
+  bool success = shmFutex->beginClientRead(true);
+  readOffset = success ? 0 : ShmFutex::BUF_SIZE;
+  return success;
+}
+
+// mark that a complete message has been read
+void ShmFutexTransport::endReadMessage() {
+  printf("endReadMessage\n");
+  shmFutex->endClientRead();
+}
+
+// start a message being sent, return true on success
+bool ShmFutexTransport::beginWriteMessage() {
+  printf("beginWriteMessage\n");
+  // handle timeouts, here or in caller
+  bool success = shmFutex->beginClientWrite(true);
+  writeOffset = success ? 0 : ShmFutex::BUF_SIZE;
+  return success;
+}
+
+// flush any output buffer and terminate a message to send, true on success
+bool ShmFutexTransport::endWriteMessage() {
+  printf("endWriteMessage\n");
+  shmFutex->endClientWrite();
+  return false;
+}
+
+// read a single unsigned byte from the transport, -1 on error
+int ShmFutexTransport::readByte() {
+  if (readOffset == ShmFutex::BUF_SIZE) {
+// fragmented message, release buffer and let server refill
+endReadMessage();
+if (!beginReadMessage()) {
+  return -1;
+}
+readOffset = 0;
+  }
+  return shmFutex->getServerToClientBuf()[readOffset++];
+}
+
+// write a single byte to the transport, return true on success
+bool ShmFutexTransport::writeByte(char c) {
+  if (writeOffset == ShmFutex::BUF_SIZE) {
+// fragmented message, release buffer and let server refill
+endWriteMessage();
+if (!beginWriteMessage()) {
+  return -1;
+}
+writeOffset = 0;
+  }
+  return shmFutex->getClientToServerBuf()[writeOffset++];
+}
+
+#endif
===
--- /dev/null
+++ /changes/jat/csproto/plugins/common/ShmFutexTransport.h	Tue Apr  6  
13:56:19 2010

@@ -0,0 +1,67 @@
+#ifndef __H_ShmFutexTransport
+#define __H_ShmFutexTransport
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+
+#ifdef linux
+// Linux-only for now
+
+#include 
+
+#include "Transport.h"
+#include "ShmFutex.h"
+
+/**
+ * Transport for Shm+Futex.
+ */
+class ShmFutexTransport : public Transport {
+  ShmFutex* shmFutex;
+  int readOffset;
+  int writeOffset;
+
+  inline ShmFutexTransport(const std::string& args)
+

[gwt-contrib] Re: Performance counters for tracking repetetive operations. (issue278801)

2010-04-06 Thread Mike Aizatsky
Resending counters with rich format:

 [java]Compile of permutations succeeded
 [java]  - Perf Counters -
 [java]  DataflowOptimizer.exec:
15/24.70754483/1.647169655333/2.51847443/15/1.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  DataflowOptimizer.exec.didChange: 15 (count)
 [java]  DeadCodeElimination.exec:
118/8.902157564/0.07544201325423729/0.255451685/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  DeadCodeElimination.exec.didChange: 88 (count)
 [java]  DeadCodeElimination.execNode:
10661/0.494802313/4.641237341712785E-5/0.028109205/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  DeadCodeElimination.execNode.didChange: 10661 (count)
 [java]  Finalizer.exec:
118/3.196998438/0.027093207101694914/0.089949967/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  Finalizer.exec.didChange: 38 (count)
 [java]  JavaToJavaScriptCompiler.optimize:
15/108.61462457/7.24097497133/9.936327408/15/1.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  JavaToJavaScriptCompiler.optimizeLoop:
118/83.899075687/0.7110091159915255/2.888163996/14/0.21126974406878365
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MakeCallsStatic.exec:
118/8.251914076/0.06993147522033899/0.291395327/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MakeCallsStatic.exec.didChange: 40 (count)
 [java]  MethodCallTightener.exec:
118/2.659938929/0.022541855330508474/0.077953807/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MethodCallTightener.exec.didChange: 25 (count)
 [java]  MethodInliner.exec:
118/9.499943932/0.08050799942372883/0.307713814/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MethodInliner.exec.didChange: 83 (count)
 [java]  Pruner.exec:
133/29.990580274/0.2254930847669173/0.912940354/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  Pruner.exec.didChange: 118 (count)
 [java]  SameParameterValueOptimizer.exec:
118/3.442675153/0.02917521316101695/0.068591879/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  SameParameterValueOptimizer.exec.didChange: 75 (count)
 [java]  TypeTightener.exec:
118/19.754594475/0.16741181758474577/0.973021884/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  TypeTightener.exec.didChange: 87 (count)
 [java]  -
 [java] Linking into
/home/aizatsky/gwt/git5/google3/third_party/java/gwt/source/svn/trunk/build/out/samples/Showcase/war/showcase
 [java]Link succeeded
 [java]Compilation succeeded -- 290.498s


On Fri, Apr 2, 2010 at 11:07 AM,   wrote:
> LGTM.  This will be handy!  I don't suppose you have a report handy for
> a Showcase build?
>
>
> http://gwt-code-reviews.appspot.com/278801/diff/1/14
> File dev/core/src/com/google/gwt/dev/util/PerfCounter.java (right):
>
> http://gwt-code-reviews.appspot.com/278801/diff/1/14#newcode2
> dev/core/src/com/google/gwt/dev/util/PerfCounter.java:2: * Copyright
> 2008 Google Inc.
> Update the year.
>
> http://gwt-code-reviews.appspot.com/278801/diff/1/14#newcode36
> dev/core/src/com/google/gwt/dev/util/PerfCounter.java:36: private
> boolean isCounter = false;
> This file needs a sort.
>
> http://gwt-code-reviews.appspot.com/278801/show
>



-- 
Regards,
Mike

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe, reply using "remove me" as the subject.


[gwt-contrib] Inlining local variables when the hold field value obtained from final context. (issue308801)

2010-04-06 Thread aizatsky

Reviewers: Lex,

Description:
Inlining local variables when the hold field value obtained from final
context.
Renamings in copy assumptions to make it more readable.

Optimization examples:

---
function $append_24(this$static, xml){
var seq;
if (xml) {
seq = xml.builder;
$append_17(this$static.builder, seq);
}
else {
$append_22(this$static.builder, null.builder.impl.string);
}
this$static.length_0 += xml.length_0;
return this$static;
}

becomes

function $append_24(this$static, xml){
xml?$append_17(this$static.builder,
xml.builder):$append_22(this$static.builder, null.builder.impl.string);
this$static.length_0 += xml.length_0;
return this$static;
}

function toPowerOfTwoString(value){
var buf, digits, pos;
buf = initDim(_3C_classLit, 1659, -1, 8, 1);
digits = ($clinit_4156() , digits_0);
pos = 7;
if (value >= 0) {
while (value > 15) {
buf[pos--] = digits[value & 15];
value >>= 4;
}
}
else {
while (pos > 0) {
buf[pos--] = digits[value & 15];
value >>= 4;
}
}
buf[pos] = digits[value & 15];
return __valueOf(buf, pos, 8);
}

becomes

function toPowerOfTwoString(value){
var buf, pos;
buf = initDim(_3C_classLit, 1659, -1, 8, 1);
$clinit_4156();
pos = 7;
if (value >= 0) {
while (value > 15) {
buf[pos--] = digits_0[value & 15];
value >>= 4;
}
}
else {
while (pos > 0) {
buf[pos--] = digits_0[value & 15];
value >>= 4;
}
}
buf[pos] = digits_0[value & 15];
return __valueOf(buf, pos, 8);
}
-


Please review this at http://gwt-code-reviews.appspot.com/308801/show

Affected files:
  M dev/core/src/com/google/gwt/dev/jjs/impl/gflow/DataflowOptimizer.java
  M dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysis.java
  M dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAssumption.java
  M  
dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyFlowFunction.java
  M  
dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyIntegratedFlowFunction.java
  M  
dev/core/test/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysisTest.java
  M  
dev/core/test/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysisTransformationTest.java



--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe, reply using "remove me" as the subject.


[gwt-contrib] Re: Performance counters for tracking repetetive operations. (issue278801)

2010-04-06 Thread Mike Aizatsky
All done.

Showcase counters:

 [java]Compile of permutations succeeded
 [java]  - Perf Counters -
 [java]  DataflowOptimizer.exec:
15/24.70754483/1.647169655333/2.51847443/15/1.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  DataflowOptimizer.exec.didChange: 15 (count)
 [java]  DeadCodeElimination.exec:
118/8.902157564/0.07544201325423729/0.255451685/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  DeadCodeElimination.exec.didChange: 88 (count)
 [java]  DeadCodeElimination.execNode:
10661/0.494802313/4.641237341712785E-5/0.028109205/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  DeadCodeElimination.execNode.didChange: 10661 (count)
 [java]  Finalizer.exec:
118/3.196998438/0.027093207101694914/0.089949967/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  Finalizer.exec.didChange: 38 (count)
 [java]  JavaToJavaScriptCompiler.optimize:
15/108.61462457/7.24097497133/9.936327408/15/1.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  JavaToJavaScriptCompiler.optimizeLoop:
118/83.899075687/0.7110091159915255/2.888163996/14/0.21126974406878365
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MakeCallsStatic.exec:
118/8.251914076/0.06993147522033899/0.291395327/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MakeCallsStatic.exec.didChange: 40 (count)
 [java]  MethodCallTightener.exec:
118/2.659938929/0.022541855330508474/0.077953807/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MethodCallTightener.exec.didChange: 25 (count)
 [java]  MethodInliner.exec:
118/9.499943932/0.08050799942372883/0.307713814/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  MethodInliner.exec.didChange: 83 (count)
 [java]  Pruner.exec:
133/29.990580274/0.2254930847669173/0.912940354/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  Pruner.exec.didChange: 118 (count)
 [java]  SameParameterValueOptimizer.exec:
118/3.442675153/0.02917521316101695/0.068591879/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  SameParameterValueOptimizer.exec.didChange: 75 (count)
 [java]  TypeTightener.exec:
118/19.754594475/0.16741181758474577/0.973021884/0/0.0
(count/total_time/avg_time/max_time/slow_count/slow_ratio)
 [java]  TypeTightener.exec.didChange: 87 (count)
 [java]  -
 [java] Linking into
/home/aizatsky/gwt/git5/google3/third_party/java/gwt/source/svn/trunk/build/out/samples/Showcase/war/showcase
 [java]Link succeeded
 [java]Compilation succeeded -- 290.498s


On Fri, Apr 2, 2010 at 11:07 AM,   wrote:
> LGTM.  This will be handy!  I don't suppose you have a report handy for
> a Showcase build?
>
>
> http://gwt-code-reviews.appspot.com/278801/diff/1/14
> File dev/core/src/com/google/gwt/dev/util/PerfCounter.java (right):
>
> http://gwt-code-reviews.appspot.com/278801/diff/1/14#newcode2
> dev/core/src/com/google/gwt/dev/util/PerfCounter.java:2: * Copyright
> 2008 Google Inc.
> Update the year.
>
> http://gwt-code-reviews.appspot.com/278801/diff/1/14#newcode36
> dev/core/src/com/google/gwt/dev/util/PerfCounter.java:36: private
> boolean isCounter = false;
> This file needs a sort.
>
> http://gwt-code-reviews.appspot.com/278801/show
>



-- 
Regards,
Mike

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors