Hello Leeroy Jenkins, Thomas Broyer,

I'd like you to reexamine a change.  Please visit

    https://gwt-review.googlesource.com/2900

to look at the new patch set (#8).

Change subject: Use JSON.parse() instead of eval() to deserialize rpc callback payload
......................................................................

Use JSON.parse() instead of eval() to deserialize rpc callback payload

IE9 is currently leaking memory on every RPC call you make. The root
cause is that eval() on IE9 is designed to keep everyting evaled in
memory until the browser session dies (see http://support.microsoft.com/kb/2572253).

To work around this issue this patch instead of using eval() on the
RPC callback payload uses JSON.parse which does not have these problems. Since JSON
does not support the special values NaN, Infinity and -Infinity they are now
converted into strings and later converted back with Number(x) on the client side.

The default RPC version still remains as 7 and this patch introduces a
new system variable "gwt.rpc.version" which can be set to 8 to resolve
the memory leak. Special cases where hacks have been applied to
circumvent browser limitations (string literal size limitation, array
size limitation) will still be applied in version 8 and will still be
evaled instead of JSON.parsed on the client side.

Change-Id: I6062180397f5fabed1dd5f08140c2bd43a19fa9f
---
M user/src/com/google/gwt/user/client/rpc/impl/AbstractSerializationStream.java M user/src/com/google/gwt/user/client/rpc/impl/AbstractSerializationStreamWriter.java M user/src/com/google/gwt/user/client/rpc/impl/ClientSerializationStreamReader.java
M user/src/com/google/gwt/user/server/rpc/RPC.java
M user/src/com/google/gwt/user/server/rpc/impl/ServerSerializationStreamReader.java M user/src/com/google/gwt/user/server/rpc/impl/ServerSerializationStreamWriter.java M user/super/com/google/gwt/user/translatable/com/google/gwt/user/client/rpc/impl/ClientSerializationStreamReader.java
M user/test/com/google/gwt/user/RPCSuite.java
A user/test/com/google/gwt/user/client/rpc/impl/WebModeClientSerializationStreamReaderTest.java
9 files changed, 189 insertions(+), 30 deletions(-)


--
To view, visit https://gwt-review.googlesource.com/2900
To unsubscribe, visit https://gwt-review.googlesource.com/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I6062180397f5fabed1dd5f08140c2bd43a19fa9f
Gerrit-PatchSet: 8
Gerrit-Project: gwt
Gerrit-Branch: master
Gerrit-Owner: John Ahlroos <j...@vaadin.com>
Gerrit-Reviewer: Artur Signell <ar...@vaadin.com>
Gerrit-Reviewer: Brian Slesinsky <skybr...@google.com>
Gerrit-Reviewer: Colin Alworth <niloc...@gmail.com>
Gerrit-Reviewer: John Ahlroos <j...@vaadin.com>
Gerrit-Reviewer: Leeroy Jenkins <jenk...@gwtproject.org>
Gerrit-Reviewer: Matthew Dempsky <mdemp...@google.com>
Gerrit-Reviewer: Thomas Broyer <t.bro...@gmail.com>

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to