- 17 Aug, 2020 1 commit
-
-
Z Nguyen-Huu authored
This is a reland of 1b35c0fa Reason for revert: Seems to reliably break a numerics test: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31516 It was really slow and timeout with debug build run this test mjsunit/math-exp-precision with --optimize-for-size because we resize cache in CSA. Default this to runtime would avoid the timeout. Also with --optimize-for-size, we don't have enough space to allocate full-size cache so avoid to resize cache in this case. In my local PC, time for this test decreases as follows. Before: 52s After: 3s Original change's description: > Improve NumberToString when cache miss and Smi > > Cache miss was handled in runtime before. This change add fast path for > Smi in this case. > > Perf show 30% improvement for the following example. > Before 67 ms > After 42 ms > > const start = new Date(); > const MAX = 1000000; > for (var i = 0; i < MAX; i++) { > i.toString(); > } > const end = new Date(); > console.log("Time :"+ (end-start)); > > Change-Id: I162e9c35f58551ca6a5a0efe79fb7c7b482a8594 > Bug: v8:10477 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332866 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69362} Bug: v8:10477 Change-Id: I892a9007210032640d0bf22e61c8e7ad1a4377c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351398Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69413}
-
- 12 Aug, 2020 2 commits
-
-
Bill Budge authored
This reverts commit 1b35c0fa. Reason for revert: Seems to reliably break a numerics test: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31516 Original change's description: > Improve NumberToString when cache miss and Smi > > Cache miss was handled in runtime before. This change add fast path for > Smi in this case. > > Perf show 30% improvement for the following example. > Before 67 ms > After 42 ms > > const start = new Date(); > const MAX = 1000000; > for (var i = 0; i < MAX; i++) { > i.toString(); > } > const end = new Date(); > console.log("Time :"+ (end-start)); > > Change-Id: I162e9c35f58551ca6a5a0efe79fb7c7b482a8594 > Bug: v8:10477 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332866 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69362} TBR=jgruber@chromium.org,leszeks@chromium.org,duongn@microsoft.com Change-Id: I80f6bdb0464c0034e6c4a16478848618cef7e046 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10477 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351389Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69365}
-
Z Nguyen-Huu authored
Cache miss was handled in runtime before. This change add fast path for Smi in this case. Perf show 30% improvement for the following example. Before 67 ms After 42 ms const start = new Date(); const MAX = 1000000; for (var i = 0; i < MAX; i++) { i.toString(); } const end = new Date(); console.log("Time :"+ (end-start)); Change-Id: I162e9c35f58551ca6a5a0efe79fb7c7b482a8594 Bug: v8:10477 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332866 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69362}
-
- 06 Aug, 2020 1 commit
-
-
Z Nguyen-Huu authored
Just a fast iteration over bytes written in Torque for Smi number and non-decimal radix, also only for more than one string character result. Improve following micro-benchmark by ~75% Before toHexString toHexString-Numbers(Score): 7905000 After toHexString toHexString-Numbers(Score): 14419000 Bug: v8:10477 Change-Id: I366092d4d70156ad33830352c1122af8794bea76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2330221 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69272}
-
- 29 May, 2020 1 commit
-
-
Bill Budge authored
- Changes javascript builtins to use explicit parameters rather than variadic, where possible. tbr=tebbi@chromium.org Bug: chromium:1085370 Change-Id: I84f01684729b32a9d27df3d021e72c34cc3a8aaf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215225 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68079}
-
- 27 May, 2020 2 commits
-
-
Bill Budge authored
- Converts the last builtin, Add to Torque. Bug: v8:9891 Change-Id: Iefa16b0d4c586ff91b54ead13fa9846064e6eda8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204155 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68026}
-
Bill Budge authored
- Moves some CSA macros back into the global namespace, and uses Torque's new global namespace feature to disambiguate the calls. Bug: v8:9891 Change-Id: I6a94ee04daed1e6a8f672b2eaa12161ab998f14c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2216932Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#68017}
-
- 26 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I5eac73a2b437e5e2d4005f79b7807ae7a9ed78e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2214829Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67976}
-
- 20 May, 2020 1 commit
-
-
Bill Budge authored
This is a reland of 4482f988 It's identical to the original CL so .. TBR=jgruber@chromium.org,tebbi@chromium.org Original change's description: > [torque] Port builtins-number-gen to Torque > > - Ports everything except Add. > > Builtins generated from this CL are slightly larger, e.g. Subtract > is 424 bytes on x64, as opposed to 400 bytes for the CSA version. > See https://crbug.com/v8/10521 > > Bug: v8:9891 > > Change-Id: Id85779eb26d8e51643d8a04f0a75090bc50ef5b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191644 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67910} Bug: v8:9891 Change-Id: I910c95db7bc044b2457364f4bfbbca46f0745bb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2209265 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67926}
-
- 19 May, 2020 3 commits
-
-
Bill Budge authored
This reverts commit 4482f988. Reason for revert: Causes Torque to break UBSAN https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/11235? [764/2199] ACTION //:run_torque(//build/toolchain/linux:clang_x64) FAILED: gen/torque-generated/bit-fields-tq.h gen/torque-generated/builtin-definitions-tq.h gen/torqu...(too long) python ../../tools/run.py ./torque -o gen/torque-generated -v8-root ../.. src/builtins/array-copywit...(too long) ../../src/torque/implementation-visitor.cc:778:36: runtime error: 2.14748e+09 is outside the range of representable values of type 'int' Original change's description: > [torque] Port builtins-number-gen to Torque > > - Ports everything except Add. > > Builtins generated from this CL are slightly larger, e.g. Subtract > is 424 bytes on x64, as opposed to 400 bytes for the CSA version. > See https://crbug.com/v8/10521 > > Bug: v8:9891 > > Change-Id: Id85779eb26d8e51643d8a04f0a75090bc50ef5b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191644 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67910} TBR=bbudge@chromium.org,jgruber@chromium.org,tebbi@chromium.org Change-Id: Ib124c893753973243563e32c25bc727a5df2ca53 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9891 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2209264Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67911}
-
Bill Budge authored
- Ports everything except Add. Builtins generated from this CL are slightly larger, e.g. Subtract is 424 bytes on x64, as opposed to 400 bytes for the CSA version. See https://crbug.com/v8/10521 Bug: v8:9891 Change-Id: Id85779eb26d8e51643d8a04f0a75090bc50ef5b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191644 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67910}
-
Bill Budge authored
- Ports all conversions that Torque can handle (without weird linkage.) - Moves NumberToString to number:: namespace. - Moves ToStringImpl to string:: namespace. Bug: v8:9891 Change-Id: I5190c545952e1d9810ca71ae7ff4a807d2d98781 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2205192 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67903}
-
- 12 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id2a93f8ac8c512dbc5cdeb43a97e04d8d6684954 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196130 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67748}
-
- 02 Mar, 2020 1 commit
-
-
Shu-yu Guo authored
The spec was changed in February TC39 to make ToInteger always normalize -0 to +0. This only observably affects Atomics.store. Bug: v8:10271 Change-Id: I0e8f6c35cef982eae242cf6619f6f24fa75b1759 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2076509Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66543}
-
- 21 Feb, 2020 1 commit
-
-
Nico Hartmann authored
Bug: v8:10155 Change-Id: I032b27ad7c71d240453e33bef33a447a1530ace9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2060005 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66387}
-
- 18 Dec, 2019 1 commit
-
-
Nico Hartmann authored
This CL implements enums in Torque in three steps: 1.) It implements necessary changes to Torque's type system. In particular, the constraints on constexpr types are relaxed such that constexpr types can exist without a corresponding non-constexpr version. Furthermore, constexpr and their non-constexpr counterpart need not be of the same kind of type. This allows an AbstractType to have a UnionType as its non-constexpr counterpart. 2.) The enum feature itself is realized as a pure desugaring in the parser, where all required types, constants and macro specializations (like FromConstexpr<>) are generated from a simple enum declaration, such that enum entries are not just constants, but are namespace scoped and have distinct types so that they can be used within typeswitch constructs. 3.) Almost all of the existing constants defined in torque (.tq files) are ported to new enum definitions. Bug: v8:10053 Change-Id: I72426d3b1434f301fd690847e15603de0dc1021b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1964392 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65503}
-
- 20 Nov, 2019 1 commit
-
-
Tobias Tebbi authored
That's possible because JS builtins are JSFunctions that embed a NativeContext. Bug: v8:7793 Change-Id: Id2bf7844fcfb53df733100f1e3e554f25a78482a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1926150Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65068}
-
- 16 Nov, 2019 1 commit
-
-
Mike Stanton authored
Bug: v8:9810 Change-Id: I29bb3db071c1957cc2a94fa7a47109cc0bab56f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1916599 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64992}
-
- 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}
-
- 05 Nov, 2019 1 commit
-
-
ajihyf authored
Bug: v8:7864 Change-Id: Iaeca4ab9d098edc73b2191dc260dd37a6114f3bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893732 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64760}
-