[gwt-contrib] [google-web-toolkit] r7883 committed - Cherry picking r7881 from trunk. This has JsniRefLookup consistently ...
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)
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...
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...
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)
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)
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)
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