commit | f6c6d713b4a1bb94457571f9e627ce2dea531b68 | [log] [tgz] |
---|---|---|
author | bmeurer <bmeurer@chromium.org> | Fri Aug 28 09:21:23 2015 |
committer | Commit bot <commit-bot@chromium.org> | Fri Aug 28 09:21:43 2015 |
tree | 5a80032e9f681eeb9710e74380a57fc2dcf52cfb | |
parent | be8564ba43bc3581ba7f4c3a07416e9ff4499404 [diff] |
[es6] Implement spec compliant ToPrimitive in the runtime. This is the first step towards a spec compliant ToPrimitive implementation (and therefore spec compliant ToNumber, ToString, ToName, and friends). It adds support for the @@toPrimitive symbol that was introduced with ES2015, and also adds the new Symbol.prototype[@@toPrimitive] and Date.prototype[@@toPrimitive] initial properties. There are now runtime functions for %ToPrimitive, %ToNumber and %ToString, which do the right thing and should be used as fallbacks instead of the hairy runtime.js implementations. I will do the same for the other conversion operations mentioned by the spec in follow up CLs. Once everything is in place we can look into optimizing things further, so that we don't always call into the runtime. Also fixed Date.prototype.toJSON to be spec compliant. R=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4307 LOG=y Review URL: https://codereview.chromium.org/1306303003 Cr-Commit-Position: refs/heads/master@{#30434}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://code.google.com/p/v8/
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*