- 16 Jul, 2015 1 commit
-
-
littledan authored
This is a change from ES5 to ES6: When reversing an array, first it is checked whether the element exists, before the element is looked up. The order in ES6 is [[HasElement]] lower [[Get]] lower (if present) [[HasElement]] upper [[Get]] upper (if present) In ES5, on the other hand, the order was [[Get]] lower [[Get]] upper [[HasElement]] lower [[HasElement]] upper To mitigate the performance impact, this patch implements a new, third copy of reversing arrays if %_HasPackedElements. This allows us to skip all membership tests, and a quick and dirty benchmark shows that the new version is faster: Over 4 runs, the slowest for the new version: d8> var start = Date.now(); for (var i = 0; i < 100000000; i++) [1, 2, 3, 4, 5].reverse(); Date.now() - start 4658 Over 3 runs, the fastest for the old version: d8> var start = Date.now(); for (var i = 0; i < 100000000; i++) [1, 2, 3, 4, 5].reverse(); Date.now() - start 5176 BUG=v8:4223 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1238593003 Cr-Commit-Position: refs/heads/master@{#29716}
-
- 17 Jun, 2015 1 commit
-
-
machenbach authored
Revert of Add %TypedArray% to proto chain (patchset #6 id:100001 of https://codereview.chromium.org/1186733002/) Reason for revert: [Sheriff] Changes layout tests: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/429 See e.g.: https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_32/429/layout-test-results/inspector/console/console-big-array-pretty-diff.html Please upload a blink side needsmanualrebaseline change first for these tests if the change is intended. Please also add a blink trybot on a reland of this CL. Original issue's description: > Add %TypedArray% to proto chain > > According to the ES6 spec, the main methods and getters shouldn't > be properties of the individual TypedArray objects and prototypes > but instead on %TypedArray% and %TypedArray%.prototype. This > difference is observable through introspection. This patch moves > some methods and getters to the proper place, with the exception > of %TypedArray%.prototype.subarray and harmony methods. These will > be moved in follow-on patches. > > BUG=v8:4085 > LOG=Y > R=adamk > > Committed: https://crrev.com/a10590158260737b256fac3254b4939f48f90095 > Cr-Commit-Position: refs/heads/master@{#29057} TBR=adamk@chromium.org,arv@chromium.org,littledan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4085 Review URL: https://codereview.chromium.org/1192433003 Cr-Commit-Position: refs/heads/master@{#29070}
-
- 16 Jun, 2015 1 commit
-
-
littledan authored
According to the ES6 spec, the main methods and getters shouldn't be properties of the individual TypedArray objects and prototypes but instead on %TypedArray% and %TypedArray%.prototype. This difference is observable through introspection. This patch moves some methods and getters to the proper place, with the exception of %TypedArray%.prototype.subarray and harmony methods. These will be moved in follow-on patches. BUG=v8:4085 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1186733002 Cr-Commit-Position: refs/heads/master@{#29057}
-
- 15 Jun, 2015 1 commit
-
-
littledan authored
This patch implements %_IsTypedArray in fullcodegen, Hydrogen and Turbofan in order to implement fast type checks to enable ES6 TypedArray features and semantics efficiently. R=adamk,titzer LOG=Y BUG=v8:4085 Review URL: https://codereview.chromium.org/1183213002 Cr-Commit-Position: refs/heads/master@{#29033}
-
- 09 Jun, 2015 1 commit
-
-
dehrenberg authored
The initial implementation of this method takes a couple shortcuts: - At some points in the spec, we should be making a reference to "Table 49" and instead do property lookup on the constructor. This is an issue with some other TypedArray methods too. - The spec indicates that, if constructor and @@species haven't been messed with in particular ways, then there should be a memcpy from the old to the new. That fast path is not implemented here in this patch, but because V8 doesn't canonicalize NaN, the result isn't observably different. BUG=v8:3578 LOG=Y R=arv Review URL: https://codereview.chromium.org/1170023002 Cr-Commit-Position: refs/heads/master@{#28882}
-
- 04 Jun, 2015 1 commit
-
-
dehrenberg authored
This patch re-commits a previous commit after fixing a test to not run into another known bug. This reverts commit b104a67e. This patch implements the last two methods on TypedArrays. These were previously committed and led to a test failure. BUG=v8:3578 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1159663004 Cr-Commit-Position: refs/heads/master@{#28803}
-
- 03 Jun, 2015 2 commits
-
-
bmeurer authored
Revert of Implement %TypedArray%.prototype.{reduce,reduceRight} (patchset #3 id:40001 of https://codereview.chromium.org/1154423014/) Reason for revert: Breaks Win32 mjsunit/harmony/typedarray-reduce, see http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/7121/steps/Check/logs/typedarray-reduce for details. Original issue's description: > Implement %TypedArray%.prototype.{reduce,reduceRight} > > This patch implements the last two methods on TypedArrays. These > were previously committed and led to a test failure. > > BUG=v8:3578 > LOG=Y > R=adamk > > Committed: https://crrev.com/95d779ecc9816ac20c1565bebeeac6a1ef29f1c7 > Cr-Commit-Position: refs/heads/master@{#28773} TBR=adamk@chromium.org,dehrenberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3578 Review URL: https://codereview.chromium.org/1162043008 Cr-Commit-Position: refs/heads/master@{#28777}
-
dehrenberg authored
This patch implements the last two methods on TypedArrays. These were previously committed and led to a test failure. BUG=v8:3578 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1154423014 Cr-Commit-Position: refs/heads/master@{#28773}
-
- 02 Jun, 2015 1 commit
-
-
dehrenberg authored
Implementations factored out from Array. Tests are derived from normal array toString tests. BUG=v8:3578 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1166623004 Cr-Commit-Position: refs/heads/master@{#28766}
-
- 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 2 commits
-
-
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}
-
dehrenberg authored
Previously this patch was attempted with reduce and reduceRight included; however, some of those tests crashed in the trybots. This version has just map, fiter and some, together with their tests. R=arv@chromium.org BUG=v8:3578 LOG=Y Review URL: https://codereview.chromium.org/1145013002 Cr-Commit-Position: refs/heads/master@{#28529}
-
- 20 May, 2015 5 commits
-
-
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}
-
yangguo authored
Also changed string.js and math.js to adapt this change. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1143993003 Cr-Commit-Position: refs/heads/master@{#28521}
-
Daniel Ehrenberg authored
This patch adds the two TypedArray methods indexOf and lastIndexOf, which are similar to the methods on Arrays. Tests are ported from arrays as well. BUG=v8:3578 LOG=Y R=arv@chromium.org Review URL: https://codereview.chromium.org/1141763004 Patch from Daniel Ehrenberg <dehrenberg@chromium.org>. Cr-Commit-Position: refs/heads/master@{#28495}
-
Daniel Ehrenberg authored
The sort method of TypedArrays sorts in numerical order by default. This patch implements sorting based on Arrays and adds a test. The length of %TypedArray%.prototype.sort, like Array.prototype.sort, seems to be unspecified in ES6, so this patch lets it have the value 1, to match our interpretation for Array.prototype.sort (though 0 would also be a sensible length). R=arv@chromium.org BUG=v8:3578 LOG=Y Review URL: https://codereview.chromium.org/1148513002 Patch from Daniel Ehrenberg <dehrenberg@chromium.org>. Cr-Commit-Position: refs/heads/master@{#28494}
-
Daniel Ehrenberg authored
This patch adds the reverse method to TypedArrays, together with a test. The test also runs for normal Arrays, since I didn't see a test for reversing dense arrays. BUG=v8:3578 LOG=Y R=arv@chromium.org Review URL: https://codereview.chromium.org/1132723008 Patch from Daniel Ehrenberg <dehrenberg@chromium.org>. Cr-Commit-Position: refs/heads/master@{#28493}
-
- 19 May, 2015 2 commits
-
-
machenbach authored
Revert of Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight} (patchset #2 id:20001 of https://codereview.chromium.org/1139663005/) Reason for revert: [Sheriff] Breaks win nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6872 Original issue's description: > Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight} > > This patch adds implementations for additional TypedArray methods > from the ES6 spec, together with tests adapted from array code. > > R=arv@chromium.org > BUG=v8:3578 > LOG=Y > > Committed: https://crrev.com/59ef8c5f3282f01b5990b3a46a2a3a829b699a13 > Cr-Commit-Position: refs/heads/master@{#28488} TBR=arv@chromium.org,dehrenberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3578 Review URL: https://codereview.chromium.org/1143833002 Cr-Commit-Position: refs/heads/master@{#28489}
-
dehrenberg authored
This patch adds implementations for additional TypedArray methods from the ES6 spec, together with tests adapted from array code. R=arv@chromium.org BUG=v8:3578 LOG=Y Review URL: https://codereview.chromium.org/1139663005 Cr-Commit-Position: refs/heads/master@{#28488}
-
- 18 May, 2015 1 commit
-
-
dehrenberg authored
This function creates a new way to make TypedArrays based on existing iterable or Array-like objects, analogous to Array.from. The patch implements the function and adds tests. R=arv@chromium.org BUG=v8:3578 LOG=Y Review URL: https://codereview.chromium.org/1132163011 Cr-Commit-Position: refs/heads/master@{#28456}
-
- 13 May, 2015 1 commit
-
-
dehrenberg authored
This patch adds three methods to TypedArrays which are already implemented for arrays. The implementations are made by calling out to the underlying code used by Arrays. R=adamk@chromium.org BUG=v8:3578 LOG=Y Review URL: https://codereview.chromium.org/1136663005 Cr-Commit-Position: refs/heads/master@{#28382}
-
- 12 May, 2015 5 commits
-
-
dehrenberg authored
This patch adds the copyWithin method to TypedArrays. For the first pass, the internals of Array.copyWithin are used. Eventually, a more efficient form based on memcpy could be used instead. BUG=v8:3578 LOG=Y R=adamk@chromium.org, arv@chromium.org, caitpotter88@gmail.com Review URL: https://codereview.chromium.org/1131113002 Cr-Commit-Position: refs/heads/master@{#28381}
-
yangguo authored
Review URL: https://codereview.chromium.org/1138173002 Cr-Commit-Position: refs/heads/master@{#28367}
-
yangguo authored
Revert of Use function wrapper argument to expose internal arrays to native scripts. (patchset #2 id:20001 of https://codereview.chromium.org/1127983003/) Reason for revert: custom snapshot builder failing. Original issue's description: > Use function wrapper argument to expose internal arrays to native scripts. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/a9b5a1795449d94387218d25baed2c2b3c4fbadc > Cr-Commit-Position: refs/heads/master@{#28354} TBR=jkummerow@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1123353008 Cr-Commit-Position: refs/heads/master@{#28355}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1127983003 Cr-Commit-Position: refs/heads/master@{#28354}
-
dehrenberg authored
The idea is to make this the model for future TypedArray methods. A possible downside could be lower array method performance if everything gets polymorhpic (but if enough inlining happens, it should still be fast), but on the upside, this change means that the TypedArray methods won't create as much code size bloat. BUG=v8:3578 LOG=Y R=adamk@chromium.org CC=arv@chromium.org, caitpotter88@gmail.com Review URL: https://codereview.chromium.org/1133503003 Cr-Commit-Position: refs/heads/master@{#28351}
-
- 11 May, 2015 1 commit
-
-
yangguo authored
For the moment, we only pass the global object (the one we are setting up). A few smaller changes were necessary to avoid failures in test-object-observe/DontLeakContextOnObserve. Otherwise the global object would be retained by being context allocated, leading to test failure. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1132513003 Cr-Commit-Position: refs/heads/master@{#28331}
-
- 09 May, 2015 1 commit
-
-
dehrenberg authored
This is the first step of converting TypedArrays to the proper proto chain. There is one copy for each of the Harmony TypedArray methods, rather than a version for each TypedArray type. This form prevents accidentally baking in knowledge about a particular array type into the method definition. R=adamk@chromium.org, arv@chromium.org, caitpotter88@gmail.com, dslomov@chromium.org, jochen@chromium.org BUG=v8:4085 LOG=Y Review URL: https://codereview.chromium.org/1126313003 Cr-Commit-Position: refs/heads/master@{#28325}
-
- 07 May, 2015 2 commits
-
-
dehrenberg authored
BUG=v8:3578 LOG=Y R=adamk@chromium.org, dslomov@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/1128273002 Cr-Commit-Position: refs/heads/master@{#28301}
-
yangguo authored
Revert of Revert of Wrap runtime.js in a function. (patchset #1 id:1 of https://codereview.chromium.org/1123353004/) Reason for revert: Failing test has been fixed. Original issue's description: > Revert of Wrap runtime.js in a function. (patchset #2 id:20001 of https://codereview.chromium.org/1126213002/) > > Reason for revert: > [Sheriff] Breaks nosnap: > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/2872 > > Original issue's description: > > Wrap runtime.js in a function. > > > > R=jkummerow@chromium.org > > > > Committed: https://crrev.com/65c56d49b2d671ac9e379de726bff3eb03a508c1 > > Cr-Commit-Position: refs/heads/master@{#28275} > > TBR=jkummerow@chromium.org,yangguo@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/62bd294f909ff448d0f876a3d745966a24cdc3f7 > Cr-Commit-Position: refs/heads/master@{#28277} TBR=jkummerow@chromium.org,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1131843002 Cr-Commit-Position: refs/heads/master@{#28287}
-
- 06 May, 2015 3 commits
-
-
machenbach authored
Revert of Wrap runtime.js in a function. (patchset #2 id:20001 of https://codereview.chromium.org/1126213002/) Reason for revert: [Sheriff] Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/2872 Original issue's description: > Wrap runtime.js in a function. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/65c56d49b2d671ac9e379de726bff3eb03a508c1 > Cr-Commit-Position: refs/heads/master@{#28275} TBR=jkummerow@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1123353004 Cr-Commit-Position: refs/heads/master@{#28277}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1126213002 Cr-Commit-Position: refs/heads/master@{#28275}
-
verwaest authored
Review URL: https://codereview.chromium.org/1116003005 Cr-Commit-Position: refs/heads/master@{#28255}
-
- 05 May, 2015 2 commits
-
-
yangguo authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1127693006 Cr-Commit-Position: refs/heads/master@{#28217}
-
yangguo authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1122033002 Cr-Commit-Position: refs/heads/master@{#28216}
-
- 04 May, 2015 1 commit
-
-
machenbach authored
Revert of Reland "Wrap v8natives.js into a function." (patchset #2 id:20001 of https://codereview.chromium.org/1123703002/) Reason for revert: [Sheriff] Speculative revert for braking arm64 nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314 (reverted already titzer's CL which didn't help) Original issue's description: > Reland "Wrap v8natives.js into a function." > > Committed: https://crrev.com/72ab42172979b60a1b784ea0c6a495d7ee2bba67 > Cr-Commit-Position: refs/heads/master@{#28193} TBR=jkummerow@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1127543003 Cr-Commit-Position: refs/heads/master@{#28208}
-