- 01 Mar, 2016 1 commit
-
-
neis authored
We must not use for-of since that could be observed. R=yangguo@chromium.org BUG=v8:4769 LOG=n Review URL: https://codereview.chromium.org/1748633002 Cr-Commit-Position: refs/heads/master@{#34387}
-
- 20 Feb, 2016 1 commit
-
-
demoneaux authored
Most libraries use `JSON.stringify` with all three arguments [1] to allow for configuration, even if `replacer` and `space` are falsey, causing the optimized native stringifying to be missed. This commit allows for the common case where `replacer` and `space` are not used to be fast. [1]: https://github.com/hapijs/hapi/pull/3014 BUG=v8:4730 LOG=N R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1710933002 Cr-Commit-Position: refs/heads/master@{#34174}
-
- 11 Feb, 2016 1 commit
-
-
bmeurer authored
There are a bunch of places in our builtins where we use %_Arguments and %_ArgumentsLength for no good reason, as arguments object and/or rest parameter is as good and performant in these cases. Now the only uses of %_Arguments and %_ArgumentsLength left are in string.js, which requires dedicated investigation. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=yangguo@chromium.org Committed: https://crrev.com/2160429fd458e3c095475e718c97f77ac90d906f Cr-Commit-Position: refs/heads/master@{#33834} Review URL: https://codereview.chromium.org/1678953004 Cr-Commit-Position: refs/heads/master@{#33881}
-
- 09 Feb, 2016 2 commits
-
-
bmeurer authored
Revert of [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. (patchset #1 id:1 of https://codereview.chromium.org/1678953004/ ) Reason for revert: Breaks tree Original issue's description: > [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. > > There are a bunch of places in our builtins where we use %_Arguments and > %_ArgumentsLength for no good reason, as arguments object and/or rest > parameter is as good and performant in these cases. Now the only uses > of %_Arguments and %_ArgumentsLength left are in string.js, which > requires dedicated investigation. > > R=yangguo@chromium.org > > Committed: https://crrev.com/2160429fd458e3c095475e718c97f77ac90d906f > Cr-Commit-Position: refs/heads/master@{#33834} TBR=yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1677063005 Cr-Commit-Position: refs/heads/master@{#33835}
-
bmeurer authored
There are a bunch of places in our builtins where we use %_Arguments and %_ArgumentsLength for no good reason, as arguments object and/or rest parameter is as good and performant in these cases. Now the only uses of %_Arguments and %_ArgumentsLength left are in string.js, which requires dedicated investigation. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1678953004 Cr-Commit-Position: refs/heads/master@{#33834}
-
- 12 Jan, 2016 3 commits
-
-
bmeurer authored
This migrates the remaining Date builtins to C++ and removes obsolete intrinsics and JavaScript wrappers. This reduces the overhead imposed by the Date builtins, and will allow us to optimize them later in the TurboFan compiler, while the interpreter doesn't need to worry about them. R=yangguo@chromium.org BUG=chromium:576574 LOG=n Committed: https://crrev.com/1e51af1a5c80b1650de47dd4bc8f846fa2d85281 Cr-Commit-Position: refs/heads/master@{#33228} Review URL: https://codereview.chromium.org/1579613002 Cr-Commit-Position: refs/heads/master@{#33231}
-
machenbach authored
Revert of [builtins] Refactor the remaining Date builtins. (patchset #2 id:20001 of https://codereview.chromium.org/1579613002/ ) Reason for revert: [Sheriff] Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/5711 Original issue's description: > [builtins] Refactor the remaining Date builtins. > > This migrates the remaining Date builtins to C++ and removes obsolete > intrinsics and JavaScript wrappers. This reduces the overhead imposed > by the Date builtins, and will allow us to optimize them later in the > TurboFan compiler, while the interpreter doesn't need to worry about > them. > > R=yangguo@chromium.org > BUG=chromium:576574 > LOG=n > > Committed: https://crrev.com/1e51af1a5c80b1650de47dd4bc8f846fa2d85281 > Cr-Commit-Position: refs/heads/master@{#33228} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:576574 Review URL: https://codereview.chromium.org/1574223002 Cr-Commit-Position: refs/heads/master@{#33230}
-
bmeurer authored
This migrates the remaining Date builtins to C++ and removes obsolete intrinsics and JavaScript wrappers. This reduces the overhead imposed by the Date builtins, and will allow us to optimize them later in the TurboFan compiler, while the interpreter doesn't need to worry about them. R=yangguo@chromium.org BUG=chromium:576574 LOG=n Review URL: https://codereview.chromium.org/1579613002 Cr-Commit-Position: refs/heads/master@{#33228}
-
- 08 Jan, 2016 1 commit
-
-
bmeurer authored
Everything necessary to implement Object.keys efficiently is already available in C++ land for quite some time now, and only the thin JavaScript wrapper was left, so get rid of that as well and move the whole builtin to C++ instead. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1567963002 Cr-Commit-Position: refs/heads/master@{#33167}
-
- 22 Dec, 2015 2 commits
-
-
cbruni authored
Function proxies would not be printed so far since they ended up in Function.prototype.toString which only works with Function as a receiver but no Proxy. Additionally added support for more gracefully dealing with recursive __proto__ structures introduced by proxies. drive-by-fix: use IS_PROXY if possible in .js files. BUG=v8:1543 LOG=n Committed: https://crrev.com/8bfb7189a3472bc9d0820a1bd4534eaaf78ff847 Cr-Commit-Position: refs/heads/master@{#32985} Review URL: https://codereview.chromium.org/1530293004 Cr-Commit-Position: refs/heads/master@{#33010}
-
cbruni authored
Revert of [proxies] Better print for proxies in d8 (patchset #6 id:100001 of https://codereview.chromium.org/1530293004/ ) Reason for revert: needs --allow-natives-syntax Original issue's description: > [proxies] Better print for proxies in d8 > > Function proxies would not be printed so far since they ended up in Function.prototype.toString which only works with Function as a receiver but no Proxy. Additionally added support for more gracefully dealing with recursive __proto__ structures introduced by proxies. > > BUG=v8:1543 > LOG=n > > Committed: https://crrev.com/8bfb7189a3472bc9d0820a1bd4534eaaf78ff847 > Cr-Commit-Position: refs/heads/master@{#32985} TBR=neis@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:1543 Review URL: https://codereview.chromium.org/1543803002 Cr-Commit-Position: refs/heads/master@{#33001}
-
- 21 Dec, 2015 1 commit
-
-
cbruni authored
Function proxies would not be printed so far since they ended up in Function.prototype.toString which only works with Function as a receiver but no Proxy. Additionally added support for more gracefully dealing with recursive __proto__ structures introduced by proxies. BUG=v8:1543 LOG=n Review URL: https://codereview.chromium.org/1530293004 Cr-Commit-Position: refs/heads/master@{#32985}
-
- 17 Dec, 2015 1 commit
-
-
neis authored
And remove confusing comment. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1531843003 Cr-Commit-Position: refs/heads/master@{#32935}
-
- 14 Dec, 2015 1 commit
-
-
neis authored
This CL tries to correctly support the following: - stringifying a proxy, - stringifying with a proxy as replacer (callable or arraylike), - stringifying with a replacer that returns a proxy, - parsing with a callable proxy as reviver, - parsing with a reviver that inserts proxies into the object, - and whatever else you can imagine. This also fixes some bugs observable without proxies. BUG=v8:3139,v8:1543 LOG=n Review URL: https://codereview.chromium.org/1515133002 Cr-Commit-Position: refs/heads/master@{#32843}
-
- 10 Dec, 2015 1 commit
-
-
neis authored
When the reviver returns undefined, the property in question must be deleted even for arrays. So far this only happened for non-array objects. Also change the property enumeration to be spec-conformant, which is observable when the reviver modifies its "this" object directly. There are a few further issues that need to be addressed in a separate CL. R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1506933003 Cr-Commit-Position: refs/heads/master@{#32750}
-
- 02 Nov, 2015 1 commit
-
-
yangguo authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1424703005 Cr-Commit-Position: refs/heads/master@{#31711}
-
- 22 Oct, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1413173003 Cr-Commit-Position: refs/heads/master@{#31467}
-
- 20 Oct, 2015 1 commit
-
-
karl authored
Use the simple inline function version of {Min, Max} where possible to improve performance Now uses an forced inline js function instead of a python macro to avoid expressions be evaluated twice Follow-up to CR: https://codereview.chromium.org/1331993004 Review URL: https://codereview.chromium.org/1410473002 Cr-Commit-Position: refs/heads/master@{#31411}
-
- 13 Oct, 2015 1 commit
-
-
mstarzinger authored
This moves JavaScript source files that are bundled with V8 into a separate directory. The goal is to improve code readability and also being able to formalize ideal reviewers by subsequently adding the OWNERS file. These files almost exclusively contain implementations of methods fully specified by ES6. Note that files in the "debug" directory as well as the "d8.js" file aren't affected by this change. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1398733002 Cr-Commit-Position: refs/heads/master@{#31230}
-
- 08 Oct, 2015 1 commit
-
-
littledan authored
Revert of Use simple/fast macro version of MinMax in JS (patchset #2 id:20001 of https://codereview.chromium.org/1390023003/ ) Reason for revert: This contains bugs, as found by mstarzinger. Reverting until we can find a clean fix (maybe it should be an inline function instead of a macro). Original issue's description: > Use simple/fast macro version of MinMax in JS > > Use the simple macro version of {Min, Max} where possible to > improve performance > > Follow-up to CR: https://codereview.chromium.org/1331993004 > > BUG= > > Committed: https://crrev.com/27c96c26212a10bb7f19f7bf3ff793b31bbad354 > Cr-Commit-Position: refs/heads/master@{#31162} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,karl@skomski.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1394303003 Cr-Commit-Position: refs/heads/master@{#31187}
-
- 07 Oct, 2015 1 commit
-
-
karl authored
Use the simple macro version of {Min, Max} where possible to improve performance Follow-up to CR: https://codereview.chromium.org/1331993004 BUG= Review URL: https://codereview.chromium.org/1390023003 Cr-Commit-Position: refs/heads/master@{#31162}
-
- 01 Oct, 2015 1 commit
-
-
bmeurer authored
Introduce %_ToNumber intrinsic, which just calls to the existing ToNumberStub, and remove all uses of our custom JavaScript plus intrinsics based ToNumber and friends. Also replace the TO_NUMBER_INLINE macro with TO_NUMBER, which is currently a wrapper for %_ToNumber. Newly written JS code should use TO_NUMBER (similar to TO_STRING, TO_INT32, and friends). Also finally remove the DefaultString/DefaultNumber builtins, which are basically the ES5 version of ToPrimitive. Now all code uses the ES6 version, which is implemented in Object::ToPrimitive and JSReceiver::ToPrimitive in C++. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1384443002 Cr-Commit-Position: refs/heads/master@{#31054}
-
- 29 Sep, 2015 1 commit
-
-
bmeurer authored
This adds ES6 compliant Object::ToInteger, Object::ToInt32, Object::ToUint32 and Object::ToLength, and replaces the old Execution wrappers of those abstract operations (which were not using the correct ToPrimitive). This also introduces proper %ToInteger and %ToLength runtime entries, with a fast path %_ToInteger supported in fullcodegen and Crankshaft (for now). Internal JavaScript code should use TO_INTEGER and TO_LENGTH respectively. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1378533002 Cr-Commit-Position: refs/heads/master@{#30993}
-
- 23 Sep, 2015 1 commit
-
-
bmeurer authored
Introduce a new macro TO_STRING that maps to %_ToString and use that instead of calling into any of the ToString/NonStringToString JavaScript builtins. Also remove the TO_STRING_INLINE macro, which is basically obsolete with %_ToString. We still have a few uses of ToString left (via the utils export mechanism), where we need to investigate whether we will tank badly if we replace them with TO_STRING as well. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=yangguo@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1323543002 Cr-Commit-Position: refs/heads/master@{#30895}
-
- 08 Sep, 2015 1 commit
-
-
bmeurer authored
The semantics of the %_CallFunction intrinsic seem to be very unclear, which resulted in a lot of bugs. Especially the combination with %IsSloppyModeFunction is always a bug, because the receiver would be wrapped in the wrong context. So the %IsSloppyModeFunction helper is gone now, and many of the buggy uses of %_CallFunction are also eliminated. If you ever need to call something with a different receiver, then %_Call is your friend now. It does what you want and implements the call sequence fully (and correct). BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1325573004 Cr-Commit-Position: refs/heads/master@{#30634}
-
- 03 Sep, 2015 1 commit
-
-
bmeurer authored
This turns the has_instance_call_handler bit on Map into an is_callable bit, that matches the spec definition of IsCallable (i.e. instances have [[Call]] internal methods). Also fix the typeof operator to properly say "function" for everything that is callable. Also remove the (unused) premature %_GetPrototype optimization from Crankshaft, which just complicated the Map bit swap. R=mstarzinger@chromium.org, rossberg@chromium.org, yangguo@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg Review URL: https://codereview.chromium.org/1316933002 Cr-Commit-Position: refs/heads/master@{#30552}
-
- 28 Aug, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1318043002 Cr-Commit-Position: refs/heads/master@{#30438}
-
- 26 Aug, 2015 1 commit
-
-
yangguo authored
We look up %-functions in the context if not found in the runtime. R=bmeurer@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1306993003 Cr-Commit-Position: refs/heads/master@{#30379}
-
- 24 Aug, 2015 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1307963002 Cr-Commit-Position: refs/heads/master@{#30319}
-
- 19 Aug, 2015 1 commit
-
-
yangguo authored
This mainly changes how we share ToBoolean, ToNumber and ToString between native scripts. Instead of putting them on the js builtins object, we now explicitly export and import those functions. I also had to change the import/export mechanism slightly. Previously, exports and imports are hooked up after all native scripts have been executed. This means that imported functions cannot be called at the time the native script is executed. However, since ToBoolean (and also e.g. ObjectDefineProperties) is called in v8natives.js, I changed the mechanism so that exports from previous native scripts (runtime.js for ToBoolean) is imported immediately and can be called. R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1302533002 Cr-Commit-Position: refs/heads/master@{#30244}
-
- 14 Aug, 2015 1 commit
-
-
yangguo authored
Newly added native context slots are used to avoid accessing the js builtins object to get native functions. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1294583006 Cr-Commit-Position: refs/heads/master@{#30181}
-
- 25 Jun, 2015 1 commit
-
-
arv authored
BUG=v8:4227 LOG=N R=adamk CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1200373003 Cr-Commit-Position: refs/heads/master@{#29273}
-
- 24 Jun, 2015 1 commit
-
-
arv authored
If the replacer array contains a number wrapper we should use the toString result and not valueOf. BUG=v8:4228 LOG=N R=adamk CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1207013002 Cr-Commit-Position: refs/heads/master@{#29270}
-
- 26 May, 2015 1 commit
-
-
yangguo authored
Revert of Revert of Hook up more import/exports in natives. (patchset #1 id:1 of https://codereview.chromium.org/1154743003/) Reason for revert: Unrelated failure that was uncovered by this CL has been fixed (https://codereview.chromium.org/1152243002/) Original issue's description: > Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/1154483002/) > > Reason for revert: > [Sheriff] Speculative revert for gc stress failures: > http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481 > > Original issue's description: > > Hook up more import/exports in natives. > > > > R=jkummerow@chromium.org > > > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > > Cr-Commit-Position: refs/heads/master@{#28573} > > > > Committed: https://crrev.com/e13a39dd7f4062898709d7c68900677df0513995 > > Cr-Commit-Position: refs/heads/master@{#28578} > > TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/eb0024d1dbdda5f51b006dd54887404ee6c5cbfc > Cr-Commit-Position: refs/heads/master@{#28584} TBR=jkummerow@chromium.org,erik.corry@gmail.com,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1149773003 Cr-Commit-Position: refs/heads/master@{#28608}
-
- 22 May, 2015 4 commits
-
-
machenbach authored
Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/1154483002/) Reason for revert: [Sheriff] Speculative revert for gc stress failures: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481 Original issue's description: > Hook up more import/exports in natives. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > Cr-Commit-Position: refs/heads/master@{#28573} > > Committed: https://crrev.com/e13a39dd7f4062898709d7c68900677df0513995 > Cr-Commit-Position: refs/heads/master@{#28578} TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1154743003 Cr-Commit-Position: refs/heads/master@{#28584}
-
yangguo authored
R=jkummerow@chromium.org Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 Cr-Commit-Position: refs/heads/master@{#28573} Review URL: https://codereview.chromium.org/1154483002 Cr-Commit-Position: refs/heads/master@{#28578}
-
machenbach authored
Revert of Hook up more import/exports in natives. (patchset #2 id:20001 of https://codereview.chromium.org/1154483002/) Reason for revert: [Sheriff] Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6943 Original issue's description: > Hook up more import/exports in natives. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > Cr-Commit-Position: refs/heads/master@{#28573} TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1154793003 Cr-Commit-Position: refs/heads/master@{#28574}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1154483002 Cr-Commit-Position: refs/heads/master@{#28573}
-
- 21 May, 2015 1 commit
-
-
yangguo authored
Also changed string.js and math.js to adapt this change. R=jkummerow@chromium.org Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd Cr-Commit-Position: refs/heads/master@{#28521} Review URL: https://codereview.chromium.org/1143993003 Cr-Commit-Position: refs/heads/master@{#28533}
-
- 20 May, 2015 1 commit
-
-
jkummerow authored
Revert of Use shared container to manage imports/exports. (patchset #2 id:20001 of https://codereview.chromium.org/1143993003/) Reason for revert: Breaks nosnap bots Original issue's description: > Use shared container to manage imports/exports. > > Also changed string.js and math.js to adapt this change. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd > Cr-Commit-Position: refs/heads/master@{#28521} TBR=yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1144163002 Cr-Commit-Position: refs/heads/master@{#28523}
-