- 16 Oct, 2019 5 commits
-
-
Michael Starzinger authored
This extends existing table support to be able to store 'exnref' in addition to 'anyref' types. Tools can use this to maintain data structures for exception packages. R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions-anyref BUG=v8:8091 Change-Id: Iccbcfdc328db81a366921bcdd98c2256f66e7fc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781046 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64323}
-
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}
-
Jakob Kummerow authored
for "entries", i.e. indices into the backing store (as opposed to "public indices" going into the hash function). This improves consistency and compiler-enforced type safety; no change in behavior is intended. Change-Id: I25e57e3ddcf18a406e2dfbd66786b6980c4e9615 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852768 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64317}
-
Sathya Gunasekaran authored
This reverts commit c7c47c68. Reason for revert: breaks TSAN https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/28738 Original change's description: > Reland "[runtime] Move Context::native_context to the map" > > This is a reland of f05bae1e > > Previously I presumed that the context read from a frame in the profiler was > a valid context. Turns out that on non-intel we're not guaranteed that the > frame is properly set up. In the case we looked at, the profiler took a > sample right before writing the frame marker indicating a builtin frame, > causing the "context" pointer from that frame to be a bytecode array. Since > we'll read random garbage on the stack as a possible context pointer, I made > the code reading the native context from it a little more defensive. > > Bug: v8:9860 > > Original change's description: > > [runtime] Move Context::native_context to the map > > > > Remove the native context slot from contexts by making context maps > > native-context-specific. Now we require 2 loads to go from a context to the > > native context, but we have 1 field fewer to store when creating contexts. > > > > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629 > > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > > Reviewed-by: Igor Sheludko <ishell@chromium.org> > > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > > Reviewed-by: Maya Lekova <mslekova@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#64296} > > Change-Id: If9461e9b21d35a260d71c79d7f95e518cc429e09 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864930 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Auto-Submit: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64314} TBR=ulan@chromium.org,neis@chromium.org,petermarshall@chromium.org,ishell@chromium.org,verwaest@chromium.org,mslekova@chromium.org,victorgomes@google.com Change-Id: I4f9edc62ea6f9f5857619ff0ad1a63cab4b33cc3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9860 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864937Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64316}
-
Toon Verwaest authored
This is a reland of f05bae1e Previously I presumed that the context read from a frame in the profiler was a valid context. Turns out that on non-intel we're not guaranteed that the frame is properly set up. In the case we looked at, the profiler took a sample right before writing the frame marker indicating a builtin frame, causing the "context" pointer from that frame to be a bytecode array. Since we'll read random garbage on the stack as a possible context pointer, I made the code reading the native context from it a little more defensive. Bug: v8:9860 Original change's description: > [runtime] Move Context::native_context to the map > > Remove the native context slot from contexts by making context maps > native-context-specific. Now we require 2 loads to go from a context to the > native context, but we have 1 field fewer to store when creating contexts. > > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64296} Change-Id: If9461e9b21d35a260d71c79d7f95e518cc429e09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864930Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64314}
-
- 15 Oct, 2019 4 commits
-
-
Deepti Gandluri authored
Bug: v8:9854 Change-Id: Icb41622caa4a7e0a7262048f69b40cfbe8fa17bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860406Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#64302}
-
Sathya Gunasekaran authored
This reverts commit f05bae1e. Reason for revert: broke arm sim debug https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/17714 https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8899519852984476944/+/steps/Check_-_trusted/0/logs/FunctionDetailsInlining/0 Original change's description: > [runtime] Move Context::native_context to the map > > Remove the native context slot from contexts by making context maps > native-context-specific. Now we require 2 loads to go from a context to the > native context, but we have 1 field fewer to store when creating contexts. > > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64296} TBR=ulan@chromium.org,neis@chromium.org,petermarshall@chromium.org,ishell@chromium.org,verwaest@chromium.org,mslekova@chromium.org,victorgomes@google.com Change-Id: Ie7b4086c3a9ab2627ecac599da36b20cf8d1f948 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863200Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64299}
-
Toon Verwaest authored
Remove the native context slot from contexts by making context maps native-context-specific. Now we require 2 loads to go from a context to the native context, but we have 1 field fewer to store when creating contexts. Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64296}
-
Michael Starzinger authored
This replaces all left-over uses of {WasmGraphBuilder::Buffer} with proper alternatives (e.g. using {base::SmallVector} instead). R=clemensb@chromium.org Change-Id: I2607ce7e2638a1bb35daccbb5b38382d5b62a430 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859626Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64285}
-
- 14 Oct, 2019 7 commits
-
-
Deepti Gandluri authored
Bug: v8:9854 Change-Id: I8450e6456321f3be2badeccac61414e005df2c65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860327 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64281}
-
Ng Zhi An authored
The macros will use AVX variants when available. Bug: v8:9561 Change-Id: I06872a08184983adc8018ffdf03916feac02016f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857422Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64280}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I2ca4b4aa5d7755f09252bdec6885013c84ea469c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850612Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64278}
-
Michael Starzinger authored
This switches the {WasmGraphBuilder} to use {SmallVector} for passing argument and return values. It deprecates {WasmGraphBuilder::Buffer}, which is a dangerous construct as it makes it easy to accidentally use the single buffer for two vectors at the same time. This also removes the by now unused {WasmGraphBuilder::Realloc} method. R=clemensb@chromium.org Change-Id: I6bd9be437a99c23bb403a046a75c148ac4a14451 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859619Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64277}
-
Michael Starzinger authored
This switches the {WasmGraphBuilder::GetExceptionValues} to use a proper vector instead of the deprecated {Buffer} method. This also addresses a TODO about missing landing pads for the above affected method. R=clemensb@chromium.org Change-Id: I33ba7d712a00f2a284ec159a501bcd90e02a3a51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859620 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64276}
-
Michael Starzinger authored
With exception handling enabled new call paths open up, which will perform environment merging while a "call" or "call_indirect" is currently being emitted. This will lead to double-use of the buffer returned by calls to {Buffer} or {Realloc}. In general we should transition away from this optimization to safer constructs such as {base::SmallVector} to avoid such bugs. R=clemensb@chromium.org TEST=mjsunit/regress/regress-9832 BUG=v8:9832 Change-Id: I4c862ac1bc7dc34ad62279c82f6414153e8cbddb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856006 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64271}
-
Maya Lekova authored
This analysis shows the number of used/unused refs as well as their by-type distribution and outputs the broker zone memory. It introduces a new flag --trace-heap-broker-memory. Doc: https://docs.google.com/document/d/1oUMxlC2YbficEVkQ1X8TK9WNCWRmLqzDRFy4z3cJsII/edit#heading=h.3sde9siqk2yw Bug: v8:9720 Change-Id: I4fafc225134d0548e976ce00d67bd5cabeda60c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849526 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64269}
-
- 11 Oct, 2019 5 commits
-
-
Ng Zhi An authored
This requires a change to instruction selector to UseUnique so that it does not shadow the temporary register. Bug: v8:9810 Change-Id: Iaceadbc39f0c51a92c2a73c4b1097d49a7397876 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850614Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64259}
-
Seth Brenith authored
Design doc: https://docs.google.com/document/d/1ZU6rCvF2YHBGMLujWqqaxlPsjFfjKDE9C3-EugfdlAE/edit Changes from the design doc: - Changed to use 'class' declarations rather than 'type' declarations for things that need instance types but whose layout is not known to Torque. These declarations end with a semicolon rather than having a full set of methods and fields surrounded by {}. If the class's name should not be treated as a class name in generated output (because it's actually a template, or doesn't exist at all), we use the standard 'generates' clause to declare the most appropriate C++ class. - Removed @instanceTypeName. - @highestInstanceType became @highestInstanceTypeWithinParentClassRange to indicate a semantic change: it no longer denotes the highest instance type globally, but only within the range of values for its immediate parent class. This lets us use it for Oddball, which is expected to be the highest primitive type. - Added new abstract classes JSCustomElementsObject and JSSpecialObject to help with some range checks. - Added @lowestInstanceTypeWithinParentClassRange so we can move the new classes JSCustomElementsObject and JSSpecialObject to the beginning of the JSObject range. This seems like the least-brittle way to establish ranges that also include JSProxy (and these ranges are verified with static assertions in instance-type.h). - Renamed @instanceTypeValue to @apiExposedInstanceTypeValue. - Renamed @instanceTypeFlags to @reserveBitsInInstanceType. This change introduces the new annotations and adds the ability for Torque to assign instance types that satisfy those annotations. Torque now emits two new macros: - TORQUE_ASSIGNED_INSTANCE_TYPES, which is used to define the InstanceType enumeration - TORQUE_ASSIGNED_INSTANCE_TYPE_LIST, which replaces the non-String parts of INSTANCE_TYPE_LIST The design document mentions a couple of other macro lists that could easily be replaced, but I'd like to defer those to a subsequent checkin because this one is already pretty large. Bug: v8:7793 Change-Id: Ie71d93a9d5b610e62be0ffa3bb36180c3357a6e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1757094 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64258}
-
Jakob Kummerow authored
This is for consistency and compiler-enforced type safety. No change in behavior intended. Change-Id: I31467832ba6c63fd5f97df9fee6221559b283d67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852766 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64244}
-
Igor Sheludko authored
In some cases operand of compress operation may be a decompress node of different representation. For example, after linearizing of CheckedTaggedToTagged[Signed|Pointer](value) we will proceed using |value| node which may have any other tagged representation. Bug: v8:8977, v8:7703 Change-Id: I3e276511f2c6127b3ecc1fe1cef4f64e7120d027 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856003Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64243}
-
Joey Gouly authored
Code from ARES-6 Basic: ldur w11, [x5, #15] asr w11, w11, #1 sxtw x11, w11 With this CL: ldur w11, [x5, #15] sbfx x11, x11, #1, #31 This increases performance of Ares6 Basic by ~2% on Cortex-A53. Also reduces the snapshot by ~2000 instructions. Change-Id: Ie9801da730f832337306422d2a9c63461d9e5690 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849530Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#64235}
-
- 10 Oct, 2019 5 commits
-
-
Ng Zhi An authored
The vst1 and vld1 instruction does a post-increment access. What we intend is the usual access at (base+offset). This change adds a helper function that is called for load and stores of s128, which emits the add instruction to do base+offset, and then change the addressing mode of the load/store to Operand2_R, which generates the variant of vld1/vst1 without the offset register. This is similar to how kSimd128 values are loaded/stored in VisitUnalignedLoad and VisitUnalignedStore. We also remove kSimd128 cases from UnalignedLoad and UnalignedStore, since it is supported (see A3.2.1 Unaligned Data Access, ARM DDI 0406C.d) Bug: v8:9746 Bug: v8:9748 Change-Id: I60b987ac58a5eaacd498a940625163484a3dc2db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834771Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64229}
-
Ng Zhi An authored
Bug: v8:9728 Change-Id: I56900b52d37f245cba228ec41a3acbfb7d47363b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1837718Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64226}
-
Dan Elphick authored
Bug: v8:6949 Change-Id: I7f41d72a4726cff0e61ff9cbe3fc3f18930f0da1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852128 Auto-Submit: Dan Elphick <delphick@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64216}
-
Santiago Aboy Solanes authored
When using if, the decompression_elimination goes out of scope and we need it alive. We were using #if guards before but it was changed in https://chromium-review.googlesource.com/c/v8/v8/+/1815134 to use FLAG_turbo_decompression_elimination as well. It was breaking a clusterfuzz builder before this CL: https://ci.chromium.org/p/v8/builders/ci/V8%20Clusterfuzz%20Linux64%20ASAN%20arm64%20-%20debug%20builder/11562 We can pull the variable out of the if, and then have an USE for the case that it doesn't get added (i.e non pointer compression). Bug: v8:7703 Change-Id: Ia0a9f50ebf2cbb41b60e3fd1110d7c7e7eca365d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849528Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64211}
-
Ng Zhi An authored
This requires a change to instruction selector to UseUnique so that it does not shadow the temporary register. Bug: v8:9810 Change-Id: I3da3e18fbbcc1dd8d40821a6c2453fd2d975ad15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849981Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64203}
-
- 09 Oct, 2019 11 commits
-
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I9ac358eabd508d31034e11f28f583c5acbb0b0e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849205Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64202}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I79ae753f15aaa91a2154bd7078a1cdb9f3e049f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822497Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64201}
-
Ng Zhi An authored
Bug: v8:9728 Change-Id: If1572283d464d7d9c33a6ba6a9b9b8cf42efc31a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834768Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64200}
-
Seth Brenith authored
In preparation for allowing Torque to generate the list of instance types, I'd like to make the rules a bit more consistent for how instance types are spelled. This CL is my proposal for a system where every non-String instance type name is exactly equal to calling CapifyStringWithUnderscores on the corresponding class name and appending "_TYPE". This change is almost all find&replace; the only manual changes are in: - src/objects/instance-type.h - src/torque/utils.cc - tools/gen-postmortem-metadata.py This change is in response to the review comment https://chromium-review.googlesource.com/c/v8/v8/+/1757094/25/src/builtins/base.tq#132 Change-Id: Ife3857292669f54931708e934398b2684e60bea5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1814888 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64199}
-
Georg Neis authored
When simulating how standard higher-order builtins call their function argument, we were inconsistent and imprecise in what hints we used for the arguments. Bug: v8:7790 Change-Id: I9a76225f0f036f3e7ce1a62644204790e4eba74d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849519 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64196}
-
Georg Neis authored
Due to https://chromium-review.googlesource.com/c/v8/v8/+/1835541 it's now possible that we reach ProcessApiCall without any arguments hints. I don't know how to test this in d8. Bug: chromium:1011727, v8:7790 Change-Id: I556f562515548c6355ff2358e635a2e1fc3974a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847157Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64187}
-
Santiago Aboy Solanes authored
The plan is to eliminate the DecompressionElimination reducer as well as the Compressed representation. We are adding a flag to easily swap between the old system and the new one. Bug: v8:7703, v8:9206 Change-Id: I083fc7a835962eddfd60e9c403131587489f4632 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815134 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64185}
-
Santiago Aboy Solanes authored
This CL changes the Tagged loads when pointer compression is enabled. It shouldn't affect anything for the time being since if we have pointer compression enabled, we are going to be storing Compressed values. Later, we will eliminate the Compressed representation and that it's where it will come into effect. Bug: v8:7703 Change-Id: I3dc774a0d6bada2955240e3fa318ff1f7ade6808 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822637 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64181}
-
Santiago Aboy Solanes authored
CheckedInt32ToTaggedSigned -> ChangeTaggedSignedToCompressedSigned was being simplified to CheckedInt32ToCompressedSigned. However, sometimes the effect chain is not propagated correctly. Since we have plans to remove the Compressed MachineRepresentation, we can remove this optimization now. Bug: v8:7703, chromium:1011980 Change-Id: I9198c73666848f89db96928259af68400d442229 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847363Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64178}
-
Santiago Aboy Solanes authored
It was recently changed to Tagged in https://chromium-review.googlesource.com/c/v8/v8/+/1832174, but IntPtr is a better choice since we are doing an IntPtr equality check below. AnyTagged loads will decompress in the near future. Then, https://chromium-review.googlesource.com/c/v8/v8/+/1822637 needs this CL before submission since otherwise we will be decompressing a value that we don't need to decompress. Change-Id: Ifb44faaf84fd68e168c5f99b72c316aa1e5b9f13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847360 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64177}
-
Deepti Gandluri authored
This CL implements i8x16.extract_lane_u, i16x8.extract_lane_u operations by changing the default narrow extract operations to be unsigned. The sign-extended extracts are implemented on top of the unsigned extracts with an additional extend compiler node. For IA32/X64, the codegen effectively remains the same - 0x389332bc32a3 63 660f3a14c900 pextrb rcx,xmm1,0 0x389332bc32a9 69 0fbec9 movsxbl rcx,rcx 0x389332bc32a3 63 660f3a14c900 pextrb rcx,xmm1,0 0x389332bc32a9 69 0fbec9 movsxbl rcx,rcx On ARM, this adds an additional sxt instruction for the signed extracts. Bug: v8:8460 Change-Id: I67f14b2b860ff8cc86ffbb2f65c7ef7de32da83f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846711Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#64172}
-
- 08 Oct, 2019 2 commits
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set)Global' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set)Global\b/kExprGlobal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I064a6448cd95bc24d31a5931b5b4ef2464ea88b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847355 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64163}
-
Santiago Aboy Solanes authored
This is a reland of 9b1e174f\ Reverted for a test failure that was unrelated to this CL. It was fixed in https://chromium-review.googlesource.com/c/v8/v8/+/1845223. Original change's description: > [ptr-compr] Storing a Tagged value stores the lower 32 bits > > This CL changes the Tagged stores when pointer compression is enabled. > It shouldn't affect anything for the time being since if we have pointer > compression enabled, we are going to be storing Compressed values. Later, > we will eliminate the Compressed representation and that it's where it > will come into effect. > > The Arm64 side of the CL looks bigger since we eliminated the opcode in > https://chromium-review.googlesource.com/c/v8/v8/+/1803345. > > Bug: v8:7703 > Change-Id: Ic4afbff9646b5d058adb9619b20ccccb3f5aed45 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822044 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64133} Bug: v8:7703 Change-Id: I7775e90c36f180adb0484b22eaf3918d9c012b77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845219Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64156}
-
- 07 Oct, 2019 1 commit
-
-
Tobias Tebbi authored
For this, all Torque stub-linkage builtins use TFC instead of TFS, with a custom descriptor added to interface-descriptors.h To avoid having complex logic in the generated code, the new class TorqueInterfaceDescriptor contains the logic to create a CallInterfaceDescriptor from a signature consisting of TNode types. As an example and test, this CL ports StringCharAt to Torque. Bug: v8:7793 Change-Id: I8339d2ad6e4f908ebdc3b8d30244e4bcbd974f21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798427Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64148}
-