GitHub PushEvent at 2014-02-19 14:20:12
Repository: v8
Actor: v8
Payload: {"shas":[["7944cfabe19a5ca68ff52fe597360a2e9b1602aa","18e137e4ec7bd4e1f9078c6b3a659d29bfe9964c@chromium.org","Upgrade Symbol implementation to match current ES6 behavior.\n\nRefresh the implementation of Symbols to catch up with what the\nspecification now mandates:\n\n* The global Symbol() function manufactures new Symbol values,\n  optionally with a string description attached.\n\n* Invoking Symbol() as a constructor will now throw.\n\n* ToString() over Symbol values still throws, and\n  Object.prototype.toString() stringifies like before.\n\n* A Symbol value is wrapped in a Symbol object either implicitly if\n  it is the receiver, or explicitly done via Object(symbolValue) or\n  (new Object(symbolValue).)\n\n* The Symbol.prototype.toString() method no longer throws on Symbol\n  wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf().\n\n* Symbol.prototype.toString() stringifies as \"Symbol(\"<description>\"),\n  valueOf() returns the wrapper's Symbol value.\n\n* ToPrimitive() over Symbol wrapper objects now throws.\n\nOverall, this provides a stricter separation between Symbol values and\nwrapper objects than before, and the explicit fetching out of the\ndescription (nee name) via the \"name\" property is no longer supported\n(by the spec nor the implementation.)\n\nAdjusted existing Symbol test files to fit current, adding some extra\ntests for new/changed behavior.\n\nLOG=N\nR=arv@chromium.org, rossberg@chromium.org, arv, rossberg\nBUG=v8:3053\n\nReview URL: https://codereview.chromium.org/118553003\n\nPatch from Sigbjorn Finne <sigbjornf@opera.com>.\n\ngit-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00","rossberg@chromium.org",false]],"size":1,"ref":"refs/heads/bleeding_edge","head":"7944cfabe19a5ca68ff52fe597360a2e9b1602aa"}