Revision: 4283
Author: [email protected]
Date: Fri Sep 24 19:57:05 2010
Log: Edited wiki page DifferencesBetweenES5Over3AndES5 through web user interface.
http://code.google.com/p/google-caja/source/detail?r=4283

Modified:
 /wiki/DifferencesBetweenES5Over3AndES5.wiki

=======================================
--- /wiki/DifferencesBetweenES5Over3AndES5.wiki Mon Aug 30 15:03:48 2010
+++ /wiki/DifferencesBetweenES5Over3AndES5.wiki Fri Sep 24 19:57:05 2010
@@ -2,11 +2,11 @@

 = Introduction =

-We're working on an implementation of ES5 that runs on ES3 browsers; we anticipate that this implementation, which we call "ES5/3", will take the place of Valija. We anticipate ES5/3 will run around 15 times faster than Valija, i.e., with roughly 20% overhead compared to uncajoled ES3 code; though it is still too early to measure this. SES5/3, the Cajita replacement, is exactly the same with the exception of freezing all the primordials. +ES5/3 is an implementation of ES5 that runs on ES3 browsers. ES5/3 will take the place of Valija and we will deprecate and eventually end-of-life Valija. SES5/3, the Cajita replacement, is exactly the same with the exception of freezing all the primordials.

SES5/3 will upwards compatible from Cajita. ES5/3 will be upwards compatible from Valija, Cajita, and SES5/3.

-There will be some differences between ES5/3 and ES5, detailed below. For code written with these in mind, ES5 will effectively be upwards compatible from ES5/3, etc... +There will be some differences between ES5/3 and ES5, detailed below. For code written with these in mind, ES5 will effectively be upwards compatible from ES5/3.

 = Differences between ES5/3 and ES5 =

@@ -18,6 +18,7 @@
   * Property names may not end in two underscores
   * Does not support creating objects with null prototype
* In a method call, the getter is called after arguments are evaluated ([http://code.google.com/p/v8/issues/detail?id=691 V8 has the same issue]) + * Whereas ES5/strict specifies no `this` coercion, ES5/3 will coerce primitive values to wrappers (as ES3 and ES5/non-strict do), and will coerce `null` and the global object to `undefined`.
   * Numerically named properties and `'length'`
     * Does not support FF2
* All numeric own properties of the same object share one property descriptor
@@ -33,12 +34,11 @@
 = Differences between ES5/3 and selected ES-Harmony features =

   * Proxies
- * Proxies can only inherit, whether directly or indirectly, from non-extensible objects or from other proxies.
     * Proxies can't trap numeric properties or 'length'
   * "Leaky" ephemeron tables
* Membranes hold onto all references that they wrap until the membrane is revoked

-= Draft Sources for the ES5/3 additions to Caja =
+= Sources for the ES5/3 additions to Caja =

[http://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/es53.js es53.js],

Reply via email to