- 21 Feb, 2020 1 commit
-
-
Mike Stanton authored
Relanding the Fast C API code with fix for UBSan undefined behavior issue. Design doc: http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ This CL implements basic API with integer and pointer types marshaling. What is not supported yet: - sequences - annotations - floating point arguments - 64-bit arguments - exception handling - InstanceOf checks for the pointer types - functions with non-void return type Bug: chromium:1052746 TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org Change-Id: Ifca9de3156cf18c9dac0d14c19f8d6a7004cad83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066971Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#66391}
-
- 19 Feb, 2020 2 commits
-
-
Shu-yu Guo authored
This reverts commit 4e11ad92. Reason for revert: Signed int overflow in TestFastApiCalls in UBSan https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/9976 Original change's description: > [turbofan] Fast API calls from TurboFan > > Relanding the Fast C API code with fix for arm sim lite build. > > Design doc: > http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ > > This CL implements basic API with integer and pointer types marshaling. > > What is not supported yet: > - sequences > - annotations > - floating point arguments > - 64-bit arguments > - exception handling > - InstanceOf checks for the pointer types > - functions with non-void return type > > Bug: chromium:1052746 > > TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org > > Change-Id: I4421ce817e3b6159a38d2cb39fb97847f128e648 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064223 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66344} TBR=mvstanton@chromium.org Change-Id: I63bde3e0b7f92506fd8ec6d39683524bc9811aa6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1052746 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062739Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66347}
-
Mike Stanton authored
Relanding the Fast C API code with fix for arm sim lite build. Design doc: http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ This CL implements basic API with integer and pointer types marshaling. What is not supported yet: - sequences - annotations - floating point arguments - 64-bit arguments - exception handling - InstanceOf checks for the pointer types - functions with non-void return type Bug: chromium:1052746 TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org Change-Id: I4421ce817e3b6159a38d2cb39fb97847f128e648 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064223Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#66344}
-
- 18 Feb, 2020 2 commits
-
-
Shu-yu Guo authored
This reverts commit 50790c0b. Reason for revert: Arm sim compile breakage: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim%20-%20lite/8657 Original change's description: > [turbofan] Fast API calls from TurboFan > > Design doc: > http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ > > This CL implements basic API with integer and pointer types marshaling. > > What is not supported yet: > - sequences > - annotations > - floating point arguments > - 64-bit arguments > - exception handling > - InstanceOf checks for the pointer types > - functions with non-void return type > > Bug: chromium:1052746 > > Change-Id: Idbbf6dd50f43dfc9f8d707fe3333e5da3da84a13 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030740 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66322} TBR=yangguo@chromium.org,mvstanton@chromium.org,neis@chromium.org,leszeks@chromium.org,verwaest@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org Change-Id: Id4301f46618d92fc1f65f1db8e1961793a91a09c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1052746 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062570Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66323}
-
Maya Lekova authored
Design doc: http://doc/1SAHn7d8M7CoazTd1laVF8gduFC_ikZWiYuytrR9c4Oc/ This CL implements basic API with integer and pointer types marshaling. What is not supported yet: - sequences - annotations - floating point arguments - 64-bit arguments - exception handling - InstanceOf checks for the pointer types - functions with non-void return type Bug: chromium:1052746 Change-Id: Idbbf6dd50f43dfc9f8d707fe3333e5da3da84a13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030740 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#66322}
-
- 08 Jan, 2020 1 commit
-
-
Nico Hartmann authored
The optimized code for String.charCodeAt(BigInt.asUintN(64, 10n)) did not throw a TypeError due to how lowering of CheckBounds triggers RepresentationChanger. Bug: chromium:1038573 Change-Id: Ie0f9ca95de5af5fd3701841ab169e11ccc77216c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986003 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65632}
-
- 12 Dec, 2019 1 commit
-
-
Nico Hartmann authored
Bug: chromium:1029530 Change-Id: I12aa4c238387f6a47bf149fd1a136ea83c385f4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1962278 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#65434}
-
- 29 Nov, 2019 1 commit
-
-
Jakob Kummerow authored
Replacing a constant BigInt with a constant int64 is only valid when the use site has truncating semantics. (For non-constant values, the representation changer did correctly check for this.) Bug: chromium:1028593 Change-Id: Ib58b16ece6f21ba30153fd6cfa0560cc2d78d6a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940263Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65262}
-
- 26 Nov, 2019 1 commit
-
-
Jakob Kummerow authored
after c968607e aka r65078. CheckedTaggedToArrayIndex is the function that's in sync with the ICs. It does both more (string-to-index conversion) and less (limit to kMaxSafeInteger) than CheckedTaggedToInt64. Bug: chromium:1028021 Change-Id: I992b11b8d4c58b4d3f5385b21998f53dd4b235d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1934338Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65170}
-
- 20 Nov, 2019 1 commit
-
-
Jakob Kummerow authored
They have to be in sync, so this patch updates both systems. Bug: v8:4153 Change-Id: I09252e41a710e79f823fe6818c1c6c0038faeb31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903434Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65078}
-
- 11 Nov, 2019 2 commits
-
-
Santiago Aboy Solanes authored
Since smi-corrputing, TaggedSigned (aka known smis) only have the lower bits used. This renders CompressedSigned useless. Bug: v8:7703 Change-Id: Id59aaebc24d670ed32c483ceecf77fd194405ee4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903445 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64883}
-
Santiago Aboy Solanes authored
Including but not limiting to removing: * BitcastCompressedXXX * CheckedCompressedXXX * ChangeXXXToCompressedYYY * ChangeCompressedXXX As a note, ChangeTaggedToCompressed can't be removed just yet as it is still in use. Bug: v8:7703 Change-Id: I98cf88a32adfa976d419e69702d1cac4d3e811a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903435 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64880}
-
- 16 Oct, 2019 1 commit
-
-
Sathya Gunasekaran authored
Updates CSA::TryToIntptr to handle array indices that are less than INT_MAX which allows to handle string keys in the ICs. Updates ICs to go monomorphic for string keys that are array indices. Updates Turbofan to handle array indices when lowering element access. Change-Id: Ibdde20130e075d0d645ab4a8266a968335eaad84 Bug: v8:9449 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813018Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64320}
-
- 04 Oct, 2019 1 commit
-
-
Igor Sheludko authored
... as the smi-corrupting decompression seems to be stable enough. Bug: v8:9706 Change-Id: I404924ec4a12b37d8bc3e521c5563aa7e6357dc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835544Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64107}
-
- 01 Oct, 2019 1 commit
-
-
Igor Sheludko authored
Bug: v8:9706 Change-Id: I5779e2fbaec5741cc9b8d44f7f3f721400e70b28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832174 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64067}
-
- 26 Sep, 2019 1 commit
-
-
Igor Sheludko authored
This CL fixes comparison operations that take into account full-word value instead of the lower 32 bits and tweaks some CSA helper functions for smi-corrupting decompression. Bug: v8:9706 Change-Id: I50e38a9f34b911ec0b8dd4e21298417bf23160aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824943Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#63995}
-
- 26 Aug, 2019 1 commit
-
-
Maya Lekova authored
This is a reland of 8ff8ddba Original change's description: > [turbofan] Further brokerize BytecodeGraphBuilder > > Replace all usages of VectorSlotPair with FeedbackSource. > > Bug: v8:7790 > Change-Id: I0ac6e9cd8f5730154cc1842e267ca1ebfdebc874 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763536 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63378} Bug: v8:7790 Change-Id: I54fbf4433a65681780fda4ded09ec2d145d36ec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768361Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63391}
-
- 23 Aug, 2019 2 commits
-
-
Bill Budge authored
This reverts commit 8ff8ddba. Reason for revert: Causes failures on GC Stress and TSan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24138 https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/27969 Original change's description: > [turbofan] Further brokerize BytecodeGraphBuilder > > Replace all usages of VectorSlotPair with FeedbackSource. > > Bug: v8:7790 > Change-Id: I0ac6e9cd8f5730154cc1842e267ca1ebfdebc874 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763536 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63378} TBR=neis@chromium.org,mslekova@chromium.org Change-Id: Ieb6fb24dd0626fd9eb2183844614ac5b3c8084e8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769287Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63387}
-
Maya Lekova authored
Replace all usages of VectorSlotPair with FeedbackSource. Bug: v8:7790 Change-Id: I0ac6e9cd8f5730154cc1842e267ca1ebfdebc874 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763536 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63378}
-
- 12 Aug, 2019 1 commit
-
-
Santiago Aboy Solanes authored
We weren't fully using InsertChangeCompressedToTagged and similar, which in turn made it so that we were using more NewNode. This CL unifies the way that we generate the insertion of Change nodes regarding decompressions. Dribe-by fix: make InsertChangeCompressedPointerToTaggedPointer actually use Pointer. Bug: v8:7703 Change-Id: I1d8835a54914cdab93f652ff17e39e8271a585df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741661Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#63154}
-
- 09 Aug, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Some of the Float(32|64) to CompressedSigned cases had their functions defined already so they are virtually free to implement. We are still missing the unsigned case so I am keeping the TODO. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: Ibf40d5948226fd48aebe7f8e257c117d6a5ad478 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708483Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#63143}
-
- 24 Jul, 2019 1 commit
-
-
Santiago Aboy Solanes authored
If we already know it has CompressedPointer representation, let's use that information to decompress more efficiently. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I3591bf67a7c0369c40ca6e7af16183530f8cd269 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1709049Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62887}
-
- 23 Jul, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Also add tests for it. Drive-by fix: Use ChangeInt32ToCompressedSmi since we have it Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I45f04f8857acfc57b69eb4022a24ba082d28a91f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708480Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62871}
-
- 15 Jul, 2019 1 commit
-
-
Nico Hartmann authored
RepresentationChanger::GetTaggedPointerRepresentation did not handle kCompressed cases correctly for BigInts. This led to a crash of BigInt benchmarks in js-perf-test. Bug: v8:9407 Change-Id: Id1d60a81afc528c8d4180bd5de9d237f2f0abd0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701848Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62718}
-
- 12 Jul, 2019 1 commit
-
-
Nico Hartmann authored
This change implements lowering of speculative BigInt addition as well as BigInt heap constants to corresponding int64 versions, if they are used in a context where the result is truncated to the least significant 64 bits (e.g. using asUintN). The JSHeapBroker is extended to provide access to the BigInt's least significant digit during concurrent compilation. The BigInt context (required to introduce correct conversions) is recognized in the RepresentationChanger by either the output type propagated downward or the TypeCheckKind propagated upward. This is necessary, because the TypeCheckKind may only be set by nodes that may potentially deopt (and sit in the effect chain). This is the case for SpeculativeBigIntAdd, but not for BigIntAsUintN. This CL contains a simple fix to prevent int64-lowered BigInts to flow into state values as the deoptimizer cannot handle them yet. A more sophisticated solution to allow the deoptimizer to materialize truncated BigInts will be added in a following CL. Bug: v8:9407 Change-Id: I96a293e9077962f53e5f199857644f004e3ae56e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1684183 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62665}
-
- 11 Jul, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Reverse specialization of https://chromium-review.googlesource.com/c/v8/v8/+/1684075. Again, it skips over Tagged to save some instructions. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I7fc50e0d8eebfef7a1ba02ce3d687ff808f30680 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1693007Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62645}
-
- 09 Jul, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Decompressing with Any just chooses one of the decompressions (Signed or Pointer). Since we already know which decompression it is going to choose, we save ourselves a whole bunch of instructions by just skipping that. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I0173931536e7ba83fa3572ceb50b176409f0b6c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691916Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62602}
-
- 08 Jul, 2019 1 commit
-
-
Santiago Aboy Solanes authored
This CL aims to address the regressions that we saw in Octane 2.1, particularly in the DeltaBlue test. This CL brings a 5% improvement in said test by doing CompressedSigned -> Word32 conversion (instead of CompressedSigned -> TaggedSigned -> Word32). There seems to be room for optimizations doing more specialized conversions regarding representation changes. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I24e5b6c06436fdda9fa6a1ac4699dc55c3d67abd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1684075 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62557}
-
- 02 Jul, 2019 1 commit
-
-
Nico Hartmann authored
Operations on BigInts, for which TurboFan statically knows that they are no larger than 2^64, can be lowered to efficient machine code in TurboFan. This is the first step in doing so by generating efficient code for asUintN and the required checks and conversions. Bug: v8:9407 Change-Id: I51f6505f6c4567434fa369fcf870a09871487f51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1680548 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62488}
-
- 27 Jun, 2019 1 commit
-
-
Santiago Aboy Solanes authored
In https://chromium-review.googlesource.com/c/v8/v8/+/1621941 we added missing representation changes. By changing the return to an assignation, we forgot to include the (now needed) else. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: Ibc54a24ea4430fd43d70251ef1a44ef15c06aa46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678659Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62412}
-
- 26 Jun, 2019 1 commit
-
-
Nico Hartmann authored
This is a reland of 5ff38bae Original change's description: > [TurboFan] Fast path for JSAdd with BigInt feedback > > This CL introduces the necessary infrastructure to generate speculative > BigInt operations in case of BigInt feedback. In particular, the JSAdd > operator is lowered to a speculative call to the BigIntAdd builtin, > with a deopt bailout in case of exceptions or violated assumptions. > > Bug: v8:9213 > Change-Id: I05796336eef9a4389fc31d59cad2d69f75512647 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657916 > Commit-Queue: Nico Hartmann <nicohartmann@google.com> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62362} Bug: v8:9213 Change-Id: Ic0caf7aab2103b8f5e22a504427e8604cc894d75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1677209Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@google.com> Cr-Commit-Position: refs/heads/master@{#62381}
-
- 25 Jun, 2019 2 commits
-
-
Francis McCabe authored
This reverts commit 5ff38bae. Reason for revert: flaky test that is not normally flaky failed. See: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20nosnap%20-%20debug/24531 Original change's description: > [TurboFan] Fast path for JSAdd with BigInt feedback > > This CL introduces the necessary infrastructure to generate speculative > BigInt operations in case of BigInt feedback. In particular, the JSAdd > operator is lowered to a speculative call to the BigIntAdd builtin, > with a deopt bailout in case of exceptions or violated assumptions. > > Bug: v8:9213 > Change-Id: I05796336eef9a4389fc31d59cad2d69f75512647 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657916 > Commit-Queue: Nico Hartmann <nicohartmann@google.com> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62362} TBR=jarin@chromium.org,neis@chromium.org,sigurds@chromium.org,nicohartmann@google.com Change-Id: I5ae63a0183283894b6d1130792ab37a95b014550 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9213 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1676607Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#62364}
-
Nico Hartmann authored
This CL introduces the necessary infrastructure to generate speculative BigInt operations in case of BigInt feedback. In particular, the JSAdd operator is lowered to a speculative call to the BigIntAdd builtin, with a deopt bailout in case of exceptions or violated assumptions. Bug: v8:9213 Change-Id: I05796336eef9a4389fc31d59cad2d69f75512647 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657916 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62362}
-
- 18 Jun, 2019 1 commit
-
-
Benedikt Meurer authored
This adds missing support when converting a Word32 value (either in Signed32 or Unsigned32 range) to Word64 representation, for which the type also includes MinusZero. This conversion is fine as long as the difference between 0 and -0 is not observable (in other words, as long as the truncation identifies zeros). Bug: chromium:971782, chromium:225811, v8:4153, v8:7881, v8:8171, v8:8383 Change-Id: I9d350a25f57b1342eb7fd1279d55a8610bdaf7cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664062Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62235}
-
- 31 May, 2019 1 commit
-
-
Jaroslav Sevcik authored
Truncation::Float64 is confusing; in reality, we mean that oddballs and big-ints are identified with their ToNumber counterparts. Bug: v8:9183 Change-Id: Ibcce990327ac7e01e36a2237ad39c374ac9922aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632224 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61937}
-
- 22 May, 2019 1 commit
-
-
Tobias Tebbi authored
Bug: chromium:965513 Change-Id: I18ff91c98ad6106c5d4df260e6ead6a9e2425dbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622119 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61730}
-
- 21 May, 2019 2 commits
-
-
Santiago Aboy Solanes authored
There was a case missing when we have a compressed value that: * Can be compressed signed * We know can't be a smi * Has to be converted to tagged pointer The case from tagged to compressed was also missing. This was the proper way of fixing the chromium bug (963917), and it could fix more things since a conversion was missing. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: chromium:963917, v8:8977, v8:7703, v8:8982 Change-Id: Id1df8e81bc900fef9bed3539c0ace621810ab1da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621941Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61690}
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 13 May, 2019 1 commit
-
-
Sigurd Schneider authored
TurboFan truncated null to +0 even in contexts such as -0 == null because it was not handling the TypeCheck correctly. This restricts the type conversion case to not apply truncation in this case (see comment in patch). Change-Id: Ia38ace9608800c8d61988de402a31dd863d9160a Bug: chromium:961237 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609538Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61446}
-
- 10 May, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Everything after UNREACHABLE is dead code, so it makes sense to remove them. Bug: v8:9183 Change-Id: If76468a73b926d74717cc2348fd5b36d30f680c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605727Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61411}
-