- 13 Sep, 2019 3 commits
-
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I2a96d5bad3dbcfe6a437931d7e9756646610f74b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796319Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63771}
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
Joey Gouly authored
Make TryEmitCbzOrTbz a template, so it can be used for Word64 as well as Word32. 0.09% reduction of embedded builtins size with a arm64 ptr-compr build. Some of the unittests weren't ported to Word64 as they don't pass, this is due to VisitWordCompare missing a loop to remove Word64Equal comparisons against 0. This can be added in a different CL if needed. Change-Id: I927129d934083b71abe5b77991c39286470a228d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792908 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63751}
-
- 12 Sep, 2019 8 commits
-
-
Ng Zhi An authored
Drive by fix of type of expected value in a test Bug: v8:9626 Change-Id: I1bb44082b873383ea75e7089828bc68c9d4e0df0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1757503Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63727}
-
Milad Farazmand authored
Port 2304c194 R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Iadb240b15a081c3f0df4a5b513e54d0c7a4a2634 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801494Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63723}
-
Thibaud Michaud authored
Sort inactive live ranges by their assigned register and by their next start. This allows {FindFreeRegistersForRange} to stop the search earlier and significantly reduces compile time for some test cases. R=sigurds@chromium.org CC=neis@chromium.org Bug: chromium:974804, v8:9529 Change-Id: I85e2ff8acf2c02ea0539c89daae5a427da775c2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1795350 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63722}
-
Mu Tao authored
Port 2304c194 Change-Id: I0e46424ddb647355d21b1e54cf96b1e5503627ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800572 Auto-Submit: Mu Tao <pamilty@gmail.com> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63716}
-
Jakob Gruber authored
This reverts commit 4a16305b. Reason for revert: Need to revalidate assumptions behind the CHECK. Original change's description: > [compiler] Optionally apply an offset to stack checks > > The motivation behind this change is that the frame size of an optimized > function and its unoptimized version may differ, and deoptimization > may thus trigger a stack overflow. The solution implemented in this CL > is to optionally apply an offset to the stack check s.t. the check > becomes 'sp - offset > limit'. The offset is applied to stack checks at > function-entry, and is set to the difference between the optimized and > unoptimized frame size. > > A caveat: OSR may not be fully handled by this fix since we've already > passed the function-entry stack check. A possible solution would be to > *not* skip creation of function-entry stack checks for inlinees. > > This CL: 1. annotates stack check nodes with the stack check kind, where > kind is one of {function-entry,iteration-body,unknown}. 2. potentially > allocates a temporary register to store the result of the 'sp - offset' > in instruction selection (and switches input registers to 'unique' > mode). 3. Applies the offset in code generation. > > Drive-by: Add src/compiler/globals.h for compiler-specific globals. > > Bug: v8:9534,chromium:1000887 > Change-Id: I257191c4a4978ccb60cfa5805ef421f30f0e9826 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762521 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63701} TBR=neis@chromium.org,sigurds@chromium.org,jgruber@chromium.org Change-Id: Iebf46d5256b6dee13451741781ef85a5fe9b1628 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9534, chromium:1000887 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800565Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63706}
-
Georg Neis authored
Bug: v8:9429 Change-Id: Id775a765d9700e1d2c46b4598f5e4c8350e28f14 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796340Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63705}
-
Clemens Hammacher authored
This removes the {base::ReversedAdapter} class and uses {base::iterator_range} instead. The types are inferred from what {std::rbegin} and {std::rend} return. Since src/base/adapters.h would only contain this one method after this refactoring, it was merged into src/base/iterator.h. Some includes of src/base/adapters.h were unused and hence dropped. R=mlippautz@chromium.org Bug: v8:9396 Change-Id: I597172ec790193b73af196d1afcd64bbed0a597d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798432Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63703}
-
Jakob Gruber authored
The motivation behind this change is that the frame size of an optimized function and its unoptimized version may differ, and deoptimization may thus trigger a stack overflow. The solution implemented in this CL is to optionally apply an offset to the stack check s.t. the check becomes 'sp - offset > limit'. The offset is applied to stack checks at function-entry, and is set to the difference between the optimized and unoptimized frame size. A caveat: OSR may not be fully handled by this fix since we've already passed the function-entry stack check. A possible solution would be to *not* skip creation of function-entry stack checks for inlinees. This CL: 1. annotates stack check nodes with the stack check kind, where kind is one of {function-entry,iteration-body,unknown}. 2. potentially allocates a temporary register to store the result of the 'sp - offset' in instruction selection (and switches input registers to 'unique' mode). 3. Applies the offset in code generation. Drive-by: Add src/compiler/globals.h for compiler-specific globals. Bug: v8:9534,chromium:1000887 Change-Id: I257191c4a4978ccb60cfa5805ef421f30f0e9826 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762521 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63701}
-
- 11 Sep, 2019 2 commits
-
-
Ng Zhi An authored
Implementations for other architectures will follow in subsequent changes. Bug: v8:8460 Change-Id: I279388ab76b1d88d65cbe179088be5573c17fc58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796317 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63693}
-
Igor Sheludko authored
... to precisely express which guarantees does this operator provide. Drive-by-fix: use it for other tag-checking predicates in CSA. Bug: v8:9396 Change-Id: Ifee22922ac02ec8866038be1a97625a32638d521 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1795504 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63681}
-
- 10 Sep, 2019 3 commits
-
-
Milad Farazmand authored
Port f72c844a Original Commit Message: Port f5ab7d38 Port 65f3861e Original Commit Message: In a new test suite: "wasm-api-tests", using a new binary "wasm_api_tests", powered by gtest/gmock (like unittests). Also fix a bunch of issues that these tests uncovered, mostly to ensure that the stack is walkable. R=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id52e771fee79210d6c295cecf56a322657cf2b8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1795864 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63655}
-
Mu Tao authored
Port 9f01d5c1 Original Commit Message: Stack overflow checks are typically implemented as part of the TurboFan graph of a function. This means that the stack check code is executed after frame construction. When a frame is too big, though, there may not be enough space on the stack anymore to throw the stack overflow exception after frame construction. With this CL we do an additional stack check before frame construction for functions with big frames. As discussed offline with mstarzinger, I do this change currently only for WebAssembly. This CL contains only the changes for arm. I will do the other platforms in separate CLs R=xwafish@gmail.com Change-Id: I46c6dd8fac1385e5da13e03cfffd9c640a7c2c57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792582 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Auto-Submit: Mu Tao <pamilty@gmail.com> Cr-Commit-Position: refs/heads/master@{#63632}
-
Michael Starzinger authored
R=mvstanton@chromium.org BUG=v8:9396 Change-Id: Iaf1f6af19d3c4236c6f1c4b215b90b2e390e81d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1789297 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63631}
-
- 09 Sep, 2019 2 commits
-
-
Zhi An Ng authored
This reverts commit 306bb635. Reason for revert: Fails on Win64 msvc https://ci.chromium.org/p/v8/builders/ci/V8%20Win64%20-%20msvc/10601 Original change's description: > [wasm-simd] Implement F64x2ConvertI64x2 for x64 > > Bug: v8:8460 > Change-Id: Icefb90c67af77ac93bd75b4e452ba426232de83a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1710332 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63627} TBR=bbudge@chromium.org,mstarzinger@chromium.org,gdeepti@chromium.org,zhin@chromium.org Change-Id: I3ad568ec01f93e89ccc758170681035413b8414e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8460 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792232Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63628}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: Icefb90c67af77ac93bd75b4e452ba426232de83a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1710332 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#63627}
-
- 05 Sep, 2019 1 commit
-
-
Mu Tao authored
Port 85e2dbb3 Change-Id: I59fbd2eb10469179def9bc6332543f5fc406d1c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784417 Auto-Submit: Mu Tao <pamilty@gmail.com> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63563}
-
- 04 Sep, 2019 1 commit
-
-
Joey Gouly authored
Implement I64x2 multiply using 32-bit multiplies. This approach uses two fewer cycles (0.88x) on Cortex-A53 and three fewer cycles (0.86x) on Cortex-A72, compared to moving to general purpose registers and doing two 64-bit multiplies. Based on a patch by Zhi An Ng. Bug: v8:8460 Change-Id: I9c8d3bb77f0d751eec2d85823522558b7f173628 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781696 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63558}
-
- 03 Sep, 2019 4 commits
-
-
Milad Farazmand authored
Port 85e2dbb3 R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2edef96f0323a5fd480e3dab02b80f1ab401efd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1780339Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63534}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I529310a35b74964cb034b4c757981c7ec70f1d19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1765442Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63532}
-
Martyn Capewell authored
This reverts commit 2869d9de. Reason for revert: Failing on V8 Arm - debug Original change's description: > [turbofan,arm64] Add float loads poisoning. > > Also extend load poisoning testing for arm and arm64. > > This is a port of I1ef202296744a39054366f2bc424d6952c3bbe9d, > originally introduced for arm. > > Change-Id: I7d317bba6be633dd1e563daa7231d3c5e930f8e4 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691032 > Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63519} TBR=rmcilroy@chromium.org,mvstanton@chromium.org,neis@chromium.org,tebbi@chromium.org,martyn.capewell@arm.com,artem.serov@arm.com Change-Id: I60ae552f98ae843d4fecbe163d60580a9f1a7068 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782163Reviewed-by:
Martyn Capewell <martyn.capewell@arm.com> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#63523}
-
Artem Serov authored
Also extend load poisoning testing for arm and arm64. This is a port of I1ef202296744a39054366f2bc424d6952c3bbe9d, originally introduced for arm. Change-Id: I7d317bba6be633dd1e563daa7231d3c5e930f8e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691032 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63519}
-
- 02 Sep, 2019 2 commits
-
-
Jakob Gruber authored
.. and use it for generating faster loads of external references. This changes the stack check instruction sequence from mov ecx,0x567651dc // The address of the stack limit. cmp esp,[ecx] to cmp esp,[ebx+0x3c] This addressing mode was likely forgotten when we recently added root register support on ia32. Bug: chromium:998751,v8:9534 Change-Id: I3521519da1e9d373dfcd83831b3e399e0e9c895b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781056Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63508}
-
Thibaud Michaud authored
Allow the backward spilling heuristic to look and spill before the start of the current range. This solves a common scenario where control-flow aware allocation cannot apply the heuristic as efficiently as splintering because it creates smaller live ranges. Bug: v8:9088 Change-Id: I7f8af8bb9c82849fbae0c652baa5011fd890690e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776085 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63502}
-
- 29 Aug, 2019 2 commits
-
-
Milad Farazmand authored
Port f72c844a Original Commit Message: Port f5ab7d38 Port 65f3861e Original Commit Message: In a new test suite: "wasm-api-tests", using a new binary "wasm_api_tests", powered by gtest/gmock (like unittests). Also fix a bunch of issues that these tests uncovered, mostly to ensure that the stack is walkable. R=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I565fba1a2437eb49be0c5247740f3fcac7b071db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1775723Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63460}
-
Jakob Gruber authored
The maximal unoptimized frame size is calculated during instruction selection and will be needed during code generation (it will be applied as an offset to the stack check). Pass the information along to the code generator through PipelineData. Bug: v8:9534 Change-Id: Ia72cd70d57c3de2db9fe43d91b9378d8e2ab8a0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762302 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63451}
-
- 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 5 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}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: If7fd1a497b2a3b74b921e175491233be884d574b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1749713Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63384}
-
Ng Zhi An authored
Bug: v8:9396 Change-Id: Ic183418c83367efe430396bd39a02fa900c193d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1764488Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63382}
-
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}
-
Sigurd Schneider authored
Change-Id: I9988ea2dfeccbfaa9e0197920703ab430a43acb7 Bug: v8:7327 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1674026 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#63375}
-
- 22 Aug, 2019 5 commits
-
-
Jakob Gruber authored
This is a reland of 1e472c42 No change, this was a speculative revert to unblock the roll. TBR=jgruber Original change's description: > [compiler] Track the maximal unoptimized frame size > > This is another step towards considering the unoptimized frame size in > stack checks within optimized code. > > With the changes in this CL, we now keep track of the maximal > unoptimized frame size of the function that is currently being > compiled. An optimized function may inline multiple unoptimized > functions, so a single optimized frame can deopt to multiple > frames. The real frame size thus differs in different parts of the > optimized function. > > We only care about the maximal frame size, which we calculate > conservatively as an over-approximation, and track in > InstructionSelector::max_unoptimized_frame_height_ for now. In future > work, this value will be passed on to codegen, where it will be > applied as an offset to the stack pointer during the stack check. > > (The motivation behind this is to avoid stack overflows through deopts, > caused by size differences between optimized and unoptimized frames.) > > Note that this offset only ensure that the topmost optimized frame can > deopt without overflowing the stack limit. That's fine, because we only > deopt optimized frames one at a time. Other (non-topmost) frames are > only deoptimized once they are returned to. > > Drive-by: Print variable and total frame height in --trace-deopt. > > Bug: v8:9534 > Change-Id: I821684a9da93bff59c20c8ab226105e7e12d93eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762024 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63330} Bug: v8:9534 Change-Id: I686f200e7be1f419e23e50789e11607a0b2886d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1766645 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63356}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I16df8eee6146704e26c6e784452ad8dc4621a460 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1749711Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63354}
-
Bill Budge authored
This reverts commit 1e472c42. Reason for revert: Speculative revert, to attempt to fix crashes that block the V8 roll. Example failure run: https://ci.chromium.org/p/chromium/builders/try/linux-rel/173465 Original change's description: > [compiler] Track the maximal unoptimized frame size > > This is another step towards considering the unoptimized frame size in > stack checks within optimized code. > > With the changes in this CL, we now keep track of the maximal > unoptimized frame size of the function that is currently being > compiled. An optimized function may inline multiple unoptimized > functions, so a single optimized frame can deopt to multiple > frames. The real frame size thus differs in different parts of the > optimized function. > > We only care about the maximal frame size, which we calculate > conservatively as an over-approximation, and track in > InstructionSelector::max_unoptimized_frame_height_ for now. In future > work, this value will be passed on to codegen, where it will be > applied as an offset to the stack pointer during the stack check. > > (The motivation behind this is to avoid stack overflows through deopts, > caused by size differences between optimized and unoptimized frames.) > > Note that this offset only ensure that the topmost optimized frame can > deopt without overflowing the stack limit. That's fine, because we only > deopt optimized frames one at a time. Other (non-topmost) frames are > only deoptimized once they are returned to. > > Drive-by: Print variable and total frame height in --trace-deopt. > > Bug: v8:9534 > Change-Id: I821684a9da93bff59c20c8ab226105e7e12d93eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762024 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63330} TBR=neis@chromium.org,sigurds@chromium.org,jgruber@chromium.org Change-Id: I7b225c30bfc4e1d958276583f512a1ec5fa2b458 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1764626Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63350}
-
Joey Gouly authored
This was deleted in 5b2ab2f6, it seems only the first part of the condition should have been deleted. This changes (from the embedded builtins): movz x9, #0x2 cmp x9, x8 Back to: cmp x8, #0x2 This saves 0.29% in the embedded builtins size for a pointer-compression enabled arm64 build. Also a minor cleanup by removing the commutative boolean parameter and always commuting the FlagsContinuation. For a commutative operation the FlagsContinuation will stay the same. Change-Id: I5bba84a07bb32284b4756bc6293560ee106745f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762522Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#63337}
-
Jakob Gruber authored
This is another step towards considering the unoptimized frame size in stack checks within optimized code. With the changes in this CL, we now keep track of the maximal unoptimized frame size of the function that is currently being compiled. An optimized function may inline multiple unoptimized functions, so a single optimized frame can deopt to multiple frames. The real frame size thus differs in different parts of the optimized function. We only care about the maximal frame size, which we calculate conservatively as an over-approximation, and track in InstructionSelector::max_unoptimized_frame_height_ for now. In future work, this value will be passed on to codegen, where it will be applied as an offset to the stack pointer during the stack check. (The motivation behind this is to avoid stack overflows through deopts, caused by size differences between optimized and unoptimized frames.) Note that this offset only ensure that the topmost optimized frame can deopt without overflowing the stack limit. That's fine, because we only deopt optimized frames one at a time. Other (non-topmost) frames are only deoptimized once they are returned to. Drive-by: Print variable and total frame height in --trace-deopt. Bug: v8:9534 Change-Id: I821684a9da93bff59c20c8ab226105e7e12d93eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762024 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63330}
-
- 21 Aug, 2019 1 commit
-
-
Ng Zhi An authored
Bug: v8:9510 Change-Id: Icf2500240ee36c271992897a222da2f089acc035 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1756855Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63324}
-