fa33d2ea3793de423336b9c5413981da7f14c604: Bug 645416, part 14 - Update ToString for symbols. r=sfink.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:50 -0500 - rev 190281
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 14 - Update ToString for symbols. r=sfink. The change in jit-test/tests/symbol/toString.js is that we now check that an exception is actually thrown. Until this patch, stringifying a symbol did not throw. (The test was mainly checking that we did not assert in Ion.) No changes in Ion. If a symbol is being stringified, it's ok to be in a slow path because that is going to throw anyway.
3140892419ab448be0b6aaafbb7788630e464d49: Bug 645416, part 13 - Update ToNumber for symbols. r=sfink.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:50 -0500 - rev 190280
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 13 - Update ToNumber for symbols. r=sfink. Not terribly interesting; converting a symbol to a number always produces NaN.
7171929b009012887c01b97d99766fe09a26029d: Bug 645416, part 12 - Update ToBoolean for symbols. r=sfink.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:50 -0500 - rev 190279
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 12 - Update ToBoolean for symbols. r=sfink.
edcb8617d09fe1f1eec5749e3c4e2912688fe49f: Bug 645416, part 11 - Update GDB pretty-printers for symbols. r=jimb.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:50 -0500 - rev 190278
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 11 - Update GDB pretty-printers for symbols. r=jimb.
d8e2600e9aa3abe063ef443781f13586f023687f: Bug 645417, part 10 - Well-known symbols. r=terrence,r=efaust.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:49 -0500 - rev 190277
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645417, part 10 - Well-known symbols. r=terrence,r=efaust. At present there is only one, Symbol.iterator, and it is not hooked up to anything (this happens in bug 918828). ES6 defines 8 well-known symbols. Each one is attached to a feature, so we'll add the symbols as we add features. Symbol.create will appear when @@create semantics are implemented.
82afa573b28538462fef8d78c06e3fbd39033d5a: Bug 645416, part 9 - Implement the symbol registry and Symbol.for(). r=terrence,r=efaust.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:49 -0500 - rev 190276
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 9 - Implement the symbol registry and Symbol.for(). r=terrence,r=efaust.
0513197d722ecddd0b7a3f3a8a4caa7b6bc9f39f: Bug 645416, part 8 - Support passing symbols across compartment boundaries. r=terrence.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:49 -0500 - rev 190275
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 8 - Support passing symbols across compartment boundaries. r=terrence. Trivial. Since symbols are always allocated in the atoms compartment and all compartments are allowed to have direct references to them, Compartment::wrap on a symbol is a no-op.
cdf258b25a12c688a7821f6351dd06ea6d99b93f: Bug 645416, part 7 - Support symbols as Map keys. r=terrence.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:48 -0500 - rev 190274
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 7 - Support symbols as Map keys. r=terrence.
e08a6942e21cbd09bd9a976f76115386e4b48fb9: Bug 645416, part 6 - JIT support for symbol values. r=jandem.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:56:18 -0500 - rev 190273
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 6 - JIT support for symbol values. r=jandem. Symbols are not yet supported as property keys at this point in the stack. The work here is to pass symbol pointers around in Ion JIT code unboxed. The baseline compiler doesn't need much new code. A few kinds of ICs need to know all the primitive types.
5d71e73ce8d4187d6d9e9d017895ac03f1a08c3c: Bug 645416, part 5 - Add the Symbol constructor and Symbol wrapper objects. r=efaust.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:55:52 -0500 - rev 190272
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 5 - Add the Symbol constructor and Symbol wrapper objects. r=efaust. This exposes a new primitive type to scripts for the first time since JavaScript first shipped in Netscape 2, over 13 years ago. The tests focus on identity, equality, and being able to pass a symbol around as a value. Of course the point of symbols is that they can be property keys, but that will have to wait for a later patch in this series.
df1552da0b8f6209de02980dafa715740ad4d07c: Bug 645416, part 4 - Rename DefinePropertiesAndBrand -> DefinePropertiesAndFunctions. r=bhackett.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:55:52 -0500 - rev 190271
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 4 - Rename DefinePropertiesAndBrand -> DefinePropertiesAndFunctions. r=bhackett.
537d97cbf684826ee4153e15d2287fa31fd6e761: Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:55:51 -0500 - rev 190270
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence. Layout: js/src/vm/Symbol.h defines the new class JS::Symbol. JS::Symbol is the same size as JSString on all platforms, because the allocator does not support smaller allocations. Allocation: Since the purpose of symbols is to serve as property keys, they are always allocated in the atoms compartment. We take a lock when allocating. This could probably be replaced with a main-thread-only assertion. However, if atom allocation is not already a bottleneck, symbol allocation probably never will be. Symbols are given their own finalize-class in the GC. This means we allocate a page per zone for symbols, even though they are only ever allocated in the atoms zone. Terrence thought this could be easily fixed later. It should be; we never touch the page, but a 32-bit virtual address space does not just have infinite pages to spare. A jsapi-test exercises the new symbol allocation code. A few oddities in jsapi-tests are fixed in passing. Discussion after review led to some new assertions about minimum object size in AllocateObject and AllocateNonObject.
192a1527e6f1dc845a542fa9f7ee8e4e5ded0e14: Bug 645416, part 2 - Add support for symbols to JS::Value. r=luke.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:55:51 -0500 - rev 190269
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 2 - Add support for symbols to JS::Value. r=luke. The API for symbol Values is much like the API for strings. The implementation behind all this is in a later patch. Here, a class JS::Symbol is declared, but not defined anywhere yet. The constants being deleted from js/public/Value.h probably haven't been used since Tracemonkey days.
c319984f3156092d7f9bfe7fef9d2e42c9252fac: Bug 645416, part 1 - Add an enum for symbols to JSValueType. r=nbp.
Jason Orendorff <jorendorff@mozilla.com> - Mon, 23 Jun 2014 10:55:51 -0500 - rev 190268
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 645416, part 1 - Add an enum for symbols to JSValueType. r=nbp. JSVAL_TYPE_SYMBOL is inserted between STRING and NULL, rather than added at the end, in order to preserve all the inequality relations on JSValueTypes used throughout Value.h. (Search the header for the operators < > <= >=.) Otherwise, this pretty much just works. Some details of Ion snapshot layout had to change to accommodate 4-bit types.
611283da02bfdc691c3dda2ae4b4a31c1c2eba9b: Bug 1028420 - Non-unified build fails when using --enable-warnings-as-errors - bustage fix, no review
Benoit Jacob <bjacob@mozilla.com> - Mon, 23 Jun 2014 14:49:09 -0400 - rev 190267
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1028420 - Non-unified build fails when using --enable-warnings-as-errors - bustage fix, no review
31aa508e8c6d2a72bcf4406b034ba4432da0e898: Bug 1028588 - Fix dangerous public destructors in uriloader - r=smaug
Benoit Jacob <bjacob@mozilla.com> - Mon, 23 Jun 2014 14:49:09 -0400 - rev 190266
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1028588 - Fix dangerous public destructors in uriloader - r=smaug
4ccc78ad6d2ac2d92684501ee74d11e4d52135f8: Bug 1028588 - Fix dangerous public destructors in docshell/ - r=smaug
Benoit Jacob <bjacob@mozilla.com> - Mon, 23 Jun 2014 14:49:08 -0400 - rev 190265
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1028588 - Fix dangerous public destructors in docshell/ - r=smaug
477fcc7c9f603649c4b15b90b2ababd40a87b8cc: Bug 1028588 - Fix dangerous public destructors in dom/bindings - r=bz
Benoit Jacob <bjacob@mozilla.com> - Mon, 23 Jun 2014 14:49:08 -0400 - rev 190264
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1028588 - Fix dangerous public destructors in dom/bindings - r=bz
3d6b2a02b254f693dcb968e0a1cbd541fa41e524: Bug 1028588 - Fix dangerous public destructors in js/xpconnect - r=bholley
Benoit Jacob <bjacob@mozilla.com> - Mon, 23 Jun 2014 14:49:08 -0400 - rev 190263
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1028588 - Fix dangerous public destructors in js/xpconnect - r=bholley
4976dc6ee72a17fe1641de59fbd66c52716f8fd9: Bug 1028588 - Fix dangerous public destructors in image/ - r=jrmuizel
Benoit Jacob <bjacob@mozilla.com> - Mon, 23 Jun 2014 14:49:08 -0400 - rev 190262
Push 1 by root at Mon, 20 Oct 2014 17:29:22 +0000
Bug 1028588 - Fix dangerous public destructors in image/ - r=jrmuizel
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip