- 14 Nov, 2019 1 commit
-
-
Igor Sheludko authored
Bug: v8:4153 Change-Id: I63d2ad673639b28b84e9f594be63cbebd931f636 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914563Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64968}
-
- 13 Nov, 2019 1 commit
-
-
Mike Stanton authored
This is part of a general move of math builtins away from builtins-math-gen.cc. Change-Id: Ifb6e5d4779bb9e6f69ff7c58d09ca8fc94f4cc66 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914210 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64943}
-
- 11 Nov, 2019 1 commit
-
-
Igor Sheludko authored
... even with ptr-compr. Although full uintptr-sized TypedArrays are not supported yet we may already start using uint32-sized typed arrays as we no longer rely on TypedArray length to be a Smi. Bug: v8:4153 Change-Id: If179541ad4f02c4ec7de9d1f3836138fe526d8a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1905847 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64897}
-
- 06 Nov, 2019 1 commit
-
-
Igor Sheludko authored
... in an uintptr friendly way. Drive-by-fix: 1) IsForceSlowPath() check is integrated into Cast<FastJSArray> 2) disable tests incompatible with --force-slow-path in "slow_path" variant Bug: v8:8906, v8:4153 Change-Id: I427f117073bc295120aa52fb3fe023ee04d58302 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899988 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64799}
-
- 04 Nov, 2019 1 commit
-
-
Igor Sheludko authored
... in an uintptr index friendly way. Bug: v8:8906, v8:4153 Change-Id: Ib06ac205453fe3ff653b4fb73194e1ab53ca0d00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1891610 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64731}
-
- 31 Oct, 2019 2 commits
-
-
Igor Sheludko authored
This is a cleanup before we introduce StoreTypedElementJSAny<T: type>() which are necessary for porting %TypedArray%.from to Torque. Drive-by-fix: formatted third_party/v8/builtins/array-sort.tq Bug: v8:8906 Change-Id: Ic84cb763ae7e5d400b5d7f7b102baa497fe9fe91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893331 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64690}
-
Tobias Tebbi authored
This has two advantages: - It improves error messages by avoiding wrong template instantiations. - More flexible overloads by disabling generics for overload resolution when their constraints are violated. Bug: v8:7793 Change-Id: I7d2b8ef736988e8de16d25a4a4b16b49e27c6a11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890097Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64676}
-
- 23 Oct, 2019 1 commit
-
-
Igor Sheludko authored
The size/length limits are still at kSmiMaxValue. Bug: v8:4153 Change-Id: I6ffda50a3b9f235b97a3718e86df7deadce9f6f8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874346 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64514}
-
- 22 Oct, 2019 1 commit
-
-
Tobias Tebbi authored
Name mangling is hard to get right and not easy to read. This CL replaces the remaining name mangling of types and generics with simpler names that are not always unique, but then fixes them up by appending a unique counter. For struct types, this required an @export annotation since we use some struct types in CSA. Drive-by-fixes: - Overwrite the copy constructor of Type to clear the list of alias names when creating a new type. - Change the existing append-a-number scheme to have different counters for each name. This the number of changed names when adding something and is more readable. Bug: v8:7793 Change-Id: Ied11ea1a251130f4562ddc0d81967368349e0bf6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866650 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64449}
-
- 18 Oct, 2019 2 commits
-
-
Igor Sheludko authored
The CL fixes the following builtins: %TypedArray%.prototype.filter Bug: v8:4153 Change-Id: Ifb4a464c91c38c586598359ffcded9cc4e7d8f4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864943 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64375}
-
Mike Stanton authored
also TypedArrays. Change-Id: I542a09a979c7fe9a3893ad4ae7cea4e057b17359 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864944 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64371}
-
- 17 Oct, 2019 1 commit
-
-
Igor Sheludko authored
The CL fixes the following builtins: %TypedArray%.prototype.join %TypedArray%.prototype.every %TypedArray%.prototype.find %TypedArray%.prototype.findIndex %TypedArray%.prototype.forEach %TypedArray%.prototype.reduce %TypedArray%.prototype.reduceRight %TypedArray%.prototype.some Bug: v8:4153 Change-Id: I39cdb1801949b1df9d221988b8ed4ed5b2de9341 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864941Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64345}
-
- 23 Sep, 2019 1 commit
-
-
Dan Elphick authored
Move CodeStubAssembler::StoreJSTypedArrayElementFromTagged, SetJSTypedArrayOnHeapDataPtr and SetJSTypedArrayOffHeapDataPtr into TypedArrayBuiltinsAssembler. Bug: v8:9396 Change-Id: I16e6aa82d0de9bd1d29a9e2c095032f2c6dd5e29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1817611Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#63930}
-
- 26 Aug, 2019 1 commit
-
-
Tobias Tebbi authored
Changes in the reland: Rebased and added a check that JavaScript-linkage builtins use JSAny in parameters and return type, plus the necessary cleanups for this test to pass. Design Doc: https://docs.google.com/document/d/1z6j0pWHnNIfId0v00uWN2HBrGRDJxJfYuCr5K7Kr1xA This reverts commit 4418a7b9. Original change's description: > Revert "[torque] introduce JSAny type for user-accessible JavaScript values" > > This reverts commit 79b00555. > > Reason for revert: needs more discussion > > Original change's description: > > [torque] introduce JSAny type for user-accessible JavaScript values > > > > This CL introduces a JSAny type for user-exposed JavaScript values and > > a few new types to define it. Especially, it splits Symbol into > > PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed > > symbols). > > > > The change is mostly mechanical, but a few things are interesting: > > - PropertyKey and JSPrimitive were designed to coincide with the spec > > notions of IsPropertyKey() and primitive value, respectively. > > - Since Name is an open type, we define AnyName to be the known > > subtypes of Name. This is not too elegant, but by using AnyName > > instead of Name, typeswitch can properly conclude something if a > > subtype of Name is excluded. > > > > Small drive-by changes, which were necessary: > > - Allow subtyping on label parameters. > > - Fix the formatting of typeswitch, it was broken with union types > > in case types. > > > > Bug: v8:7793 > > Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#63114} > > TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org > > Change-Id: Ifde7881d74afe407628f40047997339d54cb2424 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:7793 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741652 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63115} TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7793 Change-Id: Icca34e3824f55009b984d9348fd21884400f0081 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769316 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63395}
-
- 07 Aug, 2019 2 commits
-
-
Tobias Tebbi authored
This reverts commit 79b00555. Reason for revert: needs more discussion Original change's description: > [torque] introduce JSAny type for user-accessible JavaScript values > > This CL introduces a JSAny type for user-exposed JavaScript values and > a few new types to define it. Especially, it splits Symbol into > PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed > symbols). > > The change is mostly mechanical, but a few things are interesting: > - PropertyKey and JSPrimitive were designed to coincide with the spec > notions of IsPropertyKey() and primitive value, respectively. > - Since Name is an open type, we define AnyName to be the known > subtypes of Name. This is not too elegant, but by using AnyName > instead of Name, typeswitch can properly conclude something if a > subtype of Name is excluded. > > Small drive-by changes, which were necessary: > - Allow subtyping on label parameters. > - Fix the formatting of typeswitch, it was broken with union types > in case types. > > Bug: v8:7793 > Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63114} TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org Change-Id: Ifde7881d74afe407628f40047997339d54cb2424 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741652Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63115}
-
Tobias Tebbi authored
This CL introduces a JSAny type for user-exposed JavaScript values and a few new types to define it. Especially, it splits Symbol into PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed symbols). The change is mostly mechanical, but a few things are interesting: - PropertyKey and JSPrimitive were designed to coincide with the spec notions of IsPropertyKey() and primitive value, respectively. - Since Name is an open type, we define AnyName to be the known subtypes of Name. This is not too elegant, but by using AnyName instead of Name, typeswitch can properly conclude something if a subtype of Name is excluded. Small drive-by changes, which were necessary: - Allow subtyping on label parameters. - Fix the formatting of typeswitch, it was broken with union types in case types. Bug: v8:7793 Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63114}
-
- 19 Jun, 2019 1 commit
-
-
Tobias Tebbi authored
This disallows using CSA macros from Torque that have a Node* return type instead of TNode<>. By enforcing CSA types at the boundary between CSA and Torque, we can ensure that the Torque types and the CSA types match. As a drive-by, this CL adds a bit more of CSA typing where it made sense. Bug: v8:7793, v8:6949 Change-Id: I12ea0337c628105ea3c420be747ae50d3a172547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660481 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62293}
-
- 14 Jun, 2019 3 commits
-
-
Tobias Tebbi authored
This is a reland of 6eff6cc9 Original change's description: > [torque] introduce separate implicit parameters for JavaScript calling convention > > Implicit parameters for builtins with JavaScript linkage are now separate, using > the keyword "js-implicit". They have to be one of: > - context: Context > - receiver: Object (this in JS) > - target: JSFunction (arguments.callee in JS) > - newTarget: Object (new.target in JS) > > Bug: v8:9120 v8:7793 > > Change-Id: I916f60971bb53d5046b6006725d0ce39291ca55e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658159 > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62174} TBR=tmrts@chromium.org Bug: v8:9120 v8:7793 Change-Id: Idb25d316d9d87e345ab74c2df583ff2648da012c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660483 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62182}
-
Yang Guo authored
This reverts commit 6eff6cc9. Reason for revert: Presubmit failure. Original change's description: > [torque] introduce separate implicit parameters for JavaScript calling convention > > Implicit parameters for builtins with JavaScript linkage are now separate, using > the keyword "js-implicit". They have to be one of: > - context: Context > - receiver: Object (this in JS) > - target: JSFunction (arguments.callee in JS) > - newTarget: Object (new.target in JS) > > Bug: v8:9120 v8:7793 > > Change-Id: I916f60971bb53d5046b6006725d0ce39291ca55e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658159 > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62174} TBR=sigurds@chromium.org,tebbi@chromium.org,tmrts@chromium.org,szuend@chromium.org Change-Id: Ide206788745bd15677bd60fe32d2476321967069 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9120 v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660482Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62175}
-
Tobias Tebbi authored
Implicit parameters for builtins with JavaScript linkage are now separate, using the keyword "js-implicit". They have to be one of: - context: Context - receiver: Object (this in JS) - target: JSFunction (arguments.callee in JS) - newTarget: Object (new.target in JS) Bug: v8:9120 v8:7793 Change-Id: I916f60971bb53d5046b6006725d0ce39291ca55e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658159Reviewed-by: Tamer Tas <tmrts@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62174}
-
- 12 Jun, 2019 1 commit
-
-
Seth Brenith authored
This change adjusts object initialization order for a few classes so that the GC can never see those objects in an invalid, partially- initialized state. AccessorInfo: Just zeros out a few fields upon construction. This is the simplest case. FunctionTemplateInfo: Slightly changes the order in which fields are set, so that the Smi field is set ahead of the call to SetCallHandler, which can GC. Also a pretty simple case. JSListFormat, JSPluralRules, JSRelativeTimeFormat, JSSegmenter: The spec requires that we start with OrdinaryCreateFromConstructor, which has observable side effects (it fetches the prototype from the new.target). So we split JSObject::New in half: the first half does all of the user- visible things and returns a Map, which we can pass to the second half when we're ready to actually allocate the object. JSTypedArray: Extends the pattern from JSListFormat into Torque code: start with a Map and don't allocate the object until we're ready to set all of its properties. Bug: v8:9311 Change-Id: Id7703e8a0727ec756c774cfbb56af787658a111a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1646844 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62123}
-
- 11 Jun, 2019 2 commits
-
-
Simon Zünd authored
This CL adds lint errors for unused Torque macros. To prevent lots of noisy warnings, the check is rather narrow. Macros declared as "extern" or marked with "@export" are ignored. Also macros starting with "Convert", "Cast" or "FromConstexpr" are not checked. Drive-by: Removing some unused macros. Bug: v8:7793 Change-Id: Ie0d2e445f8882a9b0ebbda45876b342abf341248 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645312 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62092}
-
Simon Zünd authored
This CL adds a lint error for variables that are unnecessarily bound with 'let' when they could be bound using 'const. This test is skipped for struct types. For struct types, the "constness" also depends on the struct methods called and whether these methods write to the struct or not. This is not straight-forward to detect. Drive-by: Fix all the newly introduced lint errors. Bug: v8:7793 Change-Id: I0522ffcc4321350eef2e9573b8430bc78200ddce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645322 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62085}
-
- 06 Jun, 2019 1 commit
-
-
Simon Zünd authored
This CL adds lint errors when 'let' bindings, arguments and labels are not used. Note that errors for 'const' bindings will be added later. In cases where arguments are actually needed to match the signature, the warning can be silenced by prefixing identifiers with "_". This might be needed for generic specializations or builtins called from TurboFan. Trying to use a variable or label that was marked with "_" results in a compilation error. Implicit arguments are not linted. They are implemented using exact string matching. Prefixing an implicit argument with "_" in a callee would break all callers as the names would no longer match. Drive-by: Fix all new lint errors in the existing Torque code. Bug: v8:7793 Change-Id: I68b3c59c76b956e9f88709e9388a40a19546ce52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645092 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62027}
-
- 27 May, 2019 3 commits
-
-
Benedikt Meurer authored
This is a reland of 4b86fea5 with copy&paste typo in CodeStubAssembler::AllocateByteArray() fixed (bug led to holes in new space, which was crashing reproducibly on the ia32 bot). Original change's description: > [typedarray] Move external/data pointer to JSTypedArray. > > As the next step in supporting huge typed arrays in V8, this moves the > external/data pointer from the FixedTypedArrayBase backing store to the > JSTypedArray instance itself, and replaces the special backing stores > with a plain ByteArray (removing all the code for the FixedTypedArrayBase > class hierarchy). By doing so, we can drastically simplify the system > around typed arrays. > > Note: Several places in the code base used to check the instance type > of the elements backing store of a JSTypedArray instead of checking the > elements kind on the JSTypedArray map directly. Those had to be fixed, > since the backing store is now always a ByteArray. > > Drive-by-fix: Move all the typed elements access related code into the > elements.cc file to properly encapsulate the accesses. > > Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow > Bug: chromium:951196, chromium:965583, v8:4153, v8:7881, v8:9183 > Change-Id: I8cc06b190c53e34155000b4560f5f3ef40621646 > Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627535 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61855} Tbr: petermarshall@chromium.org Bug: chromium:951196, chromium:965583, v8:4153, v8:7881, v8:9183 Change-Id: I87fcdb28532c5f08cc227332a4d59546cb423810 Cq-Include-Trybots: luci.chromium.try:linux-rel, win7-rel Cq-Include-Trybots: luci.v8.try:v8_linux_shared_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631592Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61864}
-
Clemens Hammacher authored
This reverts commit 4b86fea5. Reason for revert: Fails on linux shared: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20shared/31045 Original change's description: > [typedarray] Move external/data pointer to JSTypedArray. > > As the next step in supporting huge typed arrays in V8, this moves the > external/data pointer from the FixedTypedArrayBase backing store to the > JSTypedArray instance itself, and replaces the special backing stores > with a plain ByteArray (removing all the code for the FixedTypedArrayBase > class hierarchy). By doing so, we can drastically simplify the system > around typed arrays. > > Note: Several places in the code base used to check the instance type > of the elements backing store of a JSTypedArray instead of checking the > elements kind on the JSTypedArray map directly. Those had to be fixed, > since the backing store is now always a ByteArray. > > Drive-by-fix: Move all the typed elements access related code into the > elements.cc file to properly encapsulate the accesses. > > Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow > Bug: chromium:951196, chromium:965583, v8:4153, v8:7881, v8:9183 > Change-Id: I8cc06b190c53e34155000b4560f5f3ef40621646 > Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627535 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61855} TBR=ulan@chromium.org,yangguo@chromium.org,titzer@chromium.org,sigurds@chromium.org,petermarshall@chromium.org,bmeurer@chromium.org,szuend@chromium.org Change-Id: I0bc1f935de6063acf75a0f4bb8c0ba67428603fd No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:951196, chromium:965583, v8:4153, v8:7881, v8:9183 Cq-Include-Trybots: luci.chromium.try:linux-rel, win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631427Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61856}
-
Benedikt Meurer authored
As the next step in supporting huge typed arrays in V8, this moves the external/data pointer from the FixedTypedArrayBase backing store to the JSTypedArray instance itself, and replaces the special backing stores with a plain ByteArray (removing all the code for the FixedTypedArrayBase class hierarchy). By doing so, we can drastically simplify the system around typed arrays. Note: Several places in the code base used to check the instance type of the elements backing store of a JSTypedArray instead of checking the elements kind on the JSTypedArray map directly. Those had to be fixed, since the backing store is now always a ByteArray. Drive-by-fix: Move all the typed elements access related code into the elements.cc file to properly encapsulate the accesses. Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow Bug: chromium:951196, chromium:965583, v8:4153, v8:7881, v8:9183 Change-Id: I8cc06b190c53e34155000b4560f5f3ef40621646 Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627535 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61855}
-
- 16 May, 2019 1 commit
-
-
Daniel Clifford authored
Also cleanup variable class size calculation for 'new' statements as well as spread-based indexed field initialization in Torque rather than in hand-written ImplementationVisitor code. This is done with new %-intrinsics. With this change, %-intrinsics can also have bodies, in which case they are treated as macros. Bug: v8:7793 Change-Id: I012d57166761688747eb683cb618263e8d0953db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1554695 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61585}
-
- 14 May, 2019 1 commit
-
-
Benedikt Meurer authored
This is a mostly mechanical change that updates the JSTypedArray::length field to have uintptr_t storage. It doesn't change the allowed ranges for this field yet, that will be done separately later on. Bug: v8:4153, v8:7881 Change-Id: Ia4b6f5455bd97b82a4b980d77bda0b09cfa845f5 Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607647 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#61485}
-
- 04 Apr, 2019 1 commit
-
-
Tobias Tebbi authored
This changes the syntax for constructing structs and classes to explicitly mention the fieldnames, similar to JavaScript object literals. The fields still have to be listed in the same order as in the struct/class declaration. As in Javascript, {foo: foo} can be abbreviated as {foo}. Example: macro NewJSArray(implicit context: Context)( map: Map, elements: FixedArrayBase): JSArray { return new JSArray{ map, properties_or_hash: kEmptyFixedArray, elements, length: elements.length }; } Drive-by cleanup: Make struct and class constructors follow the same pattern in the parser and the AST. Bug: v8:9018 v8:7793 Change-Id: I22ff7f68270e4f406aa80731a709d41ea52f52bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1551999Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60622}
-
- 04 Mar, 2019 1 commit
-
-
peterwmwong authored
Bug: v8:8906 Change-Id: I7a07482d2d5de13de11fa2611e3c6ae18439e820 Reviewed-on: https://chromium-review.googlesource.com/c/1493136 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60007}
-
- 01 Mar, 2019 1 commit
-
-
Mike Stanton authored
This CL moves the following builtins from CSA to Torque: TypedArray.prototype.forEach TypedArray.prototype.reduce TypedArray.prototype.reduceRight A space-saving decision was made in the design -- instead of emitting versions of the central loop for each ElementsKind, a function pointer which knows how to read from the appropriate TypedArray ElementsKind is constructed at the outset, and passed into the loop. This enormously reduces codesize for the TypedArray builtins. We'll have to see if the overhead of the builtin call affects performance too adversely. BUG: v8:8906 Change-Id: I808cd70f58ddbde18f85e5b2a9be0b883a3f6647 Reviewed-on: https://chromium-review.googlesource.com/c/1484292Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59970}
-
- 27 Feb, 2019 4 commits
-
-
peterwmwong authored
This is a reland of 19291bfc Same as original, but with ThrowTypeError/ThrowRange updated to use an implicit context. Original change's description: > [typedarray] Port TA#subarray and TypedArraySpeciesCreate to Torque > > Reduces TypedArrayPrototypeSubArray builtin size by 392 bytes: > - TFJ Builtin, TypedArrayPrototypeSubArray, 2448 -> 2056 > > Small 3-4% perf increase on JSTests/TypedArrays/SubarrayNoSpecies benchmark > > Bug: v8:7161, v8:8906 > Change-Id: Ia2b906a93db7199ca4592c46c40638cca0a33eec > Reviewed-on: https://chromium-review.googlesource.com/c/1485241 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Cr-Commit-Position: refs/heads/master@{#59894} Bug: v8:7161, v8:8906 Change-Id: Ic3784e2d4db262b1968ba467b7b46b98203f11d4 Reviewed-on: https://chromium-review.googlesource.com/c/1491533Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#59901}
-
Peter Wong authored
This reverts commit 19291bfc. Reason for revert: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8920369361383698384/+/steps/build/0/steps/compile/0/stdout ThrowTypeError's method signature changed this morning Original change's description: > [typedarray] Port TA#subarray and TypedArraySpeciesCreate to Torque > > Reduces TypedArrayPrototypeSubArray builtin size by 392 bytes: > - TFJ Builtin, TypedArrayPrototypeSubArray, 2448 -> 2056 > > Small 3-4% perf increase on JSTests/TypedArrays/SubarrayNoSpecies benchmark > > Bug: v8:7161, v8:8906 > Change-Id: Ia2b906a93db7199ca4592c46c40638cca0a33eec > Reviewed-on: https://chromium-review.googlesource.com/c/1485241 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Cr-Commit-Position: refs/heads/master@{#59894} TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,petermarshall@chromium.org,szuend@chromium.org Change-Id: Ic0eaa07e57df3c365b52fb3c5de8eb7c3d9f71e9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7161, v8:8906 Reviewed-on: https://chromium-review.googlesource.com/c/1491532Reviewed-by: Peter Wong <peter.wm.wong@gmail.com> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#59896}
-
peterwmwong authored
Reduces TypedArrayPrototypeSubArray builtin size by 392 bytes: - TFJ Builtin, TypedArrayPrototypeSubArray, 2448 -> 2056 Small 3-4% perf increase on JSTests/TypedArrays/SubarrayNoSpecies benchmark Bug: v8:7161, v8:8906 Change-Id: Ia2b906a93db7199ca4592c46c40638cca0a33eec Reviewed-on: https://chromium-review.googlesource.com/c/1485241Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#59894}
-
Mike Stanton authored
Change-Id: I5f0d915351c24b9a2916b8ab1d4bafb4d7eb21c7 Reviewed-on: https://chromium-review.googlesource.com/c/1491217Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59889}
-
- 20 Feb, 2019 1 commit
-
-
peterwmwong authored
This is a reland of c9ef0405 Original change's description: > [builtins]: Optimize CreateTypedArray to use element size log 2 for calculations. > > TypedArrayElementsInfo now represents an element's size as a log 2 and typed as > uintptr. This simplifies and speeds up (avoids possible HeapNumber allocations) a > number of calculations: > > - Number of Elements (length) -> Byte Length - is now a WordShl > - Byte Length -> Number of Elements (length) - is now a WordShr > - Testing alignment (byte offset or length) - is now a WordAnd > > These element/byte length related calculations are encapsulated in > TypedArrayElementsInfo as struct methods. > > This reduces the size of CreateTypedArray by 2.125 KB (24%) on Mac x64.release: > - Before: 9,088 > - After: 6,896 > > This improves the performance of the following microbencmarks > - TypedArrays-ConstructWithBuffer: ~87% > - TypedArrays-SubarrayNoSpecies: ~28% > > Bug: v8:7161 > Change-Id: I2239fd0e0af9d3ad55cd52318088d3c7c913ae44 > Reviewed-on: https://chromium-review.googlesource.com/c/1456299 > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59531} Bug: v8:7161, chromium:932034 Change-Id: I5c3dc34c549234417f95b404e7d49b2fd496fa69 Reviewed-on: https://chromium-review.googlesource.com/c/1476306 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59728}
-
- 18 Feb, 2019 2 commits
-
-
Daniel Clifford authored
In the process, cleanup the StoreFixedArray* operators and change most FixedArray element accesses so that they explicitly use the '.objects' and '.floats' fields. Bug: v8:7793 Change-Id: I3e45a9b7536ec76e1413b7e508d79a56b37604ff Reviewed-on: https://chromium-review.googlesource.com/c/1460948 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59649}
-
Jakob Gruber authored
This reverts commit c9ef0405. Reason for revert: https://crbug.com/932034 Original change's description: > [builtins]: Optimize CreateTypedArray to use element size log 2 for calculations. > > TypedArrayElementsInfo now represents an element's size as a log 2 and typed as > uintptr. This simplifies and speeds up (avoids possible HeapNumber allocations) a > number of calculations: > > - Number of Elements (length) -> Byte Length - is now a WordShl > - Byte Length -> Number of Elements (length) - is now a WordShr > - Testing alignment (byte offset or length) - is now a WordAnd > > These element/byte length related calculations are encapsulated in > TypedArrayElementsInfo as struct methods. > > This reduces the size of CreateTypedArray by 2.125 KB (24%) on Mac x64.release: > - Before: 9,088 > - After: 6,896 > > This improves the performance of the following microbencmarks > - TypedArrays-ConstructWithBuffer: ~87% > - TypedArrays-SubarrayNoSpecies: ~28% > > Bug: v8:7161 > Change-Id: I2239fd0e0af9d3ad55cd52318088d3c7c913ae44 > Reviewed-on: https://chromium-review.googlesource.com/c/1456299 > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59531} TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,petermarshall@chromium.org,szuend@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7161, chromium:932034 Change-Id: I3da95447ce34f84d01629d2791868f3adcdfb387 Reviewed-on: https://chromium-review.googlesource.com/c/1475764 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59645}
-
- 12 Feb, 2019 1 commit
-
-
peterwmwong authored
TypedArrayElementsInfo now represents an element's size as a log 2 and typed as uintptr. This simplifies and speeds up (avoids possible HeapNumber allocations) a number of calculations: - Number of Elements (length) -> Byte Length - is now a WordShl - Byte Length -> Number of Elements (length) - is now a WordShr - Testing alignment (byte offset or length) - is now a WordAnd These element/byte length related calculations are encapsulated in TypedArrayElementsInfo as struct methods. This reduces the size of CreateTypedArray by 2.125 KB (24%) on Mac x64.release: - Before: 9,088 - After: 6,896 This improves the performance of the following microbencmarks - TypedArrays-ConstructWithBuffer: ~87% - TypedArrays-SubarrayNoSpecies: ~28% Bug: v8:7161 Change-Id: I2239fd0e0af9d3ad55cd52318088d3c7c913ae44 Reviewed-on: https://chromium-review.googlesource.com/c/1456299 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59531}
-