Missing overrides in JNonNullType made signatures for same types differ.

This resulted in a very obscure error that occurred in an invalid JavaScript identifier under -style DETAILED if
a method with array parameters was translated as a global JavaScript method.

Change-Id: I062a3592d0a9a3ef390b1e946e013bdf3cb26791
Review-Link: https://gwt-review.googlesource.com/#/c/1850/

Review by: skybrian@google.com
Clear the GWT bridge to reduce severity of memory leaks.
This allows data held by generators to be freed.
(Also, reduces the number of red herrings when tracking
down a memory leak.)

Change-Id: I17886328c4c41c3e58271b8b4c8fde2e2bf689d0
Review-Link: https://gwt-review.googlesource.com/#/c/1870/

Review by: mdempsky@google.com
Update number format constants to CLDR 21
(Second try.)
ValueListBox should implement Focusable.

Fixes issue 6483

Review-Link: http://gwt-code-reviews.appspot.com/1884803/

Review by: mdempsky@google.com
Reduce devmode memory usage by not caching bytecode.

Instead of caching bytecode in a byte[] array in a TypeData in
a CompiledClass, read it again from the DiskCache. It looks like
the bytecode is only used once per compile, so the increased
memory usage isn't worth the speedup. (Also, the OS typically
caches files.)

Testing: using our largest GWT app, this reduced memory consumption
from 1170k (at idle after a gc) to 650k. The time for the first
reload went from 1:34 to 1:31 and the second reload went from 4 to
5 seconds (measured up to the log message that the module is loaded).
This seems well within the margin of error.

Change-Id: I2306c8873cd4651de09ae61bf3f13b64fc4cb7a0
Review-Link: https://gwt-review.googlesource.com/#/c/1910/

Review by: mdempsky@google.com
Deprecates com.google.gwt.benchmark.*.

This didn't get enough adaption externally or internally.
The way it's implemented requires special support from GWTTestCase
infrastructure. Also, we are not going have an environment
to automate benchmarks written on this any time soon.

If there is enough demand later, parts of this code can be
resurrected to build a new benchmark system.

Change-Id: I51fe1c9e73e39df745e71bf1fbf459fd6cc78f7f
Review-Link: https://gwt-review.googlesource.com/#/c/1900/

Review by: mdempsky@google.com
Prevents GWTTestCase to become zombie when communication with backend fails.

Before this patch, when GWTTestCase fails to communicate with JUnitShell
for any reason (e.g. test case thrown a js exception which is not serializable),
then it was retrying indefinitely. This can cause to hang until the test case timeouts.

This patch changes the default for maximum retries and also provides an alternative
lightweight communication to JUnitShell to report something went wrong.

Change-Id: Ie02ea83e1363483c3bf2ca2dc5be6d9344cde2cf
Review-Link: https://gwt-review.googlesource.com/#/c/1880/
Enables wrapping of un-serializable exceptions in web mode.

Fixes issue 7847

Change-Id: Ida5ff71be9eb5c0076b367935d13b267b2a9ca3c
Review-Link: https://gwt-review.googlesource.com/#/c/1890/
Introduces GWT#maybeReportUncaughtException.

This enables unit test frameworks to set an uncaught exception
handler without interfering with the user/production one.
A following patch will make the changes necessary to utilize
new Impl#setUncaughtExceptionHandlerForTest method.

Change-Id: I7c25b8de334ef24c4795efdbb76023e0825136bb
Review-Link: https://gwt-review.googlesource.com/#/c/1820/

Review by: skybrian@google.com
Add experimental GWT.unloadModule() function.

Enable via <set-property name="gwt.unloadEnabled" value="true"/>
Invoke via window.__gwt_activeModules[moduleName].unloadModule().

Attempts to do the following:
1) Cleanup all outstanding non-primitive properties from $wnd
2) Remove all registered event listeners
3) detach all widgets from rootpanel
4) Cancel any continuously running timers, I/Os in progress, etc
5) Delete all code from the iframe scope (window != $wnd)
6) erase registration from __gwt_activeModules and null out nocache.js module function
7) Remove iframe hosting the module (if present)

Even with all of this cleanup, Chrome's heap profiler still shows leaks on the simplest modules. This is a work in progress to support portal-like services that want to load/unload many GWT modules within a long running page.

Currently, IE paths which use attachEvent() have not been patched.

By default, support is disabled and there should only be a negligible impact on codesize.

Review at http://gwt-code-reviews.appspot.com/1827804

Review by: skybrian@google.com
Temporary rollback due to breakage.
Introduce ImmutableAnnotations to reduce memory usage.

Most usages of the Annotations class don't actually need inheritance; only
JRealClass does. Also, most JParameters have no annotations. By switching
to an immutable implementation and always using the same instance to represent
empty, we can get rid of most Annotations instances.

Also documented the constraints on the Annotations class. There should be no
change in semantics for GWT applications.

Change-Id: Id70da4aca286c2da1a5ba423f750cecb14aa11eb
Review-Link: https://gwt-review.googlesource.com/#/c/1920/

Review by: mdempsky@google.com
Rename variable 'arguments' to 'args' to avoid shadowing the JS
builtin 'arguments' variable, which causes errors with the
closure compiler.

Fixes issue 8011.

Change-Id: Ide25f55e4de2f93675b8d457e37f3d9c57f10be2
Review-Link: https://gwt-review.googlesource.com/#/c/1931/

Review by: skybrian@google.com