- 15 Oct, 2019 1 commit
-
-
Clemens Backes authored
WebAssembly locals are specified to be zero on function entry. Liftoff implements this by just storing the constant 0 in the virtual stack for integer types, and using one floating point register initialized to zero for all floating point types. For big counts of locals this leads to problems (manifesting as huge blocks of code being generated) once we hit a merge point: All those constants (for int) and all duplicate register uses (for floats) need to be fixed up, by using separate registers for the locals or spilling to the stack if no more registers are available. All this spilling generates a lot of code, and can even happen multiple times within a function. This CL optimizes for such cases by spilling all locals to the stack initially. All merges within the function body get much smaller then. The spilled values rarely have to be loaded anyway, because the initial zero value is usually overwritten before the first use. To optimize the code size for initializing big numbers of locals on the stack, this CL also introduces the platform-specific {FillStackSlotsWithZero} method which uses a loop for bigger local counts. This often saves dozens of kilobytes for very big functions, and shows an overall code size reduction of 4-5 percent for big modules. R=jkummerow@chromium.org Bug: v8:9830 Change-Id: I23fa4145847827420f09e043a11e0e7b606e94cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856004 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64282}
-
- 14 Oct, 2019 16 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}
-
Z Nguyen-Huu authored
Bug: v8:8976 Change-Id: I7b215adda82f9982d38e35ab5c80c86eeca81487 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856921 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64279}
-
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}
-
Milad Farazmand authored
older gcc compilers (tested on PPC gcc 6) may throw the following error if a non-copyable element is added to std::map: src/torque/instance-type-generator.cc:192:76: required from here /usr/include/c++/6/ext/new_allocator.h:120:4: error: use of deleted function 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = v8::internal::torque::{anonymous}::InstanceTypeTree* const; _T2 = std::unique_ptr<v8::internal::torque::{anonymous}::InstanceTypeTree>]' explicitly constructing the std::pair will fix the compilation error. Bug: v8:9850 Change-Id: I1e69e804be8bb9c16d013a90b532d670a97ed055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857552 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64275}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id2e03e7d42aeab155572fa9cc3093dcff16f5668 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859622Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64274}
-
Clemens Backes authored
It was marked V8_DEPRECATE_SOON in https://crrev.com/c/1261936 (part of M-71). R=ahaas@chromium.org, ulan@chromium.org Bug: v8:9810 Change-Id: I64a7937b518dbf2a75361bbbecd514618922d543 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849523Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64273}
-
Thibaud Michaud authored
R=ahaas@chromium.org Change-Id: Iea0fe775eb8c101200fe41e5e188bbdc85c03df7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856000Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#64272}
-
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}
-
Tobias Tebbi authored
The assert code gets put into an unreachable block in release builds to make sure it's type-checked and torque knows the code it contains is used, but still it doesn't emit actual machine code. Bug: v8:7793 Change-Id: I580fdd7ac059e0dbe85283fd35c3038634a7228e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857226Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64270}
-
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}
-
Michael Achenbach authored
TBR=gsathya@chromium.org NOTRY=true Change-Id: I6ddb04fe4aec3596bfc70170310745924909de52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857222Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64268}
-
Michael Achenbach authored
NOTRY=true TBR=gdeepti@chromium.org Bug: v8:9845 Change-Id: I973521ae0d1fc3706c23f664e47962ac29e0196c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857223Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64267}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/34b1290..4250046 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I774107b9e6408832b63d9171e26a3dfbf6231f79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857432Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#64266}
-
- 13 Oct, 2019 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f48946c..34b1290 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2cbae8a..5abb9b7 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ia24eb083291276b5f4e8a2535bb16e21204ee05e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857430Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#64265}
-
- 12 Oct, 2019 4 commits
-
-
Michael Achenbach authored
TBR=santa Change-Id: I32f9eaa4006c235064d077de47cf7ae48f881502 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857220Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64264}
-
David Carlier authored
This patch stores the result of sysconf() in a long integer and checks the result of Free(). Change-Id: If77e46a2f188e6bc36ef2e98eac36bf7a7d67dff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1855942Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64263}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b68f5d6..f48946c Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/788d15f..1550399 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/8e57b4b..2cbae8a TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I6f7895a5b3de6384eb0f6156b53f3945aa0667f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857426Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#64262}
-
Zhang, Shiyu authored
... for the case we haven't seen any elements on the entire prototype chain. Contributed by tao.pan@intel.com Change-Id: Ied7d1a918b545e71d94ab1521bf0d233ea15cfce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848960Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> Cr-Commit-Position: refs/heads/master@{#64261}
-
- 11 Oct, 2019 18 commits
-
-
Deepti Gandluri authored
Bug: v8:9845 Change-Id: I638f9bc41023cd4faef46dcafe646c13f3e14573 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857208Reviewed-by: Frank Tang <ftang@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64260}
-
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}
-
Johannes Henkel authored
New rev: a14dad30f0e5b0fc05911856d5a20b1ffe89fd9b Change-Id: I92a70bb8e5fef13e7422d609d3899ea1092def8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847785 Auto-Submit: Johannes Henkel <johannes@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64257}
-
Ng Zhi An authored
Increase the embedded vector size to 91 as that is the max size needed to print a s128 as a 32x4. - max value of uint32_t has 10 digits in decimal, 1 for a potential sign, 3 spaces in between 4 of them -> 3 + 4 * 11 = 47 - max value of uint32_t has 8 digits in hex, 3 spaces in between -> 3 + 4 * 8 = 35 - the prefix "v128:" -> 5 - " / " to separate the decimal and hex representation -> 3 - null byte 47 + 35 + 5 + 3 + 1 = 91 Bug: v8:9754 Change-Id: I153c30738fa8862b44fb5103cbe62ea0bcea9718 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1814885 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64256}
-
Frank Tang authored
* Change the logic to reflect the spec change of https://github.com/tc39/proposal-intl-datetime-style/pull/37/ * Move enum value of kUndefined to 0 to make unset behavior the same as kUndefined. * Change the expectation of existing tests * Additional tests - https://github.com/tc39/test262/pull/2385 Bug: v8:9826 Change-Id: Ic437b5f6414aa641ae73766d8c5fd5b9d352a230 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846722Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64255}
-
Robert Sesek authored
The dispatch_semaphore_t is a higher-level, more-efficient semaphore primitive if the cross-process capabilities of semaphore_t are not needed. Bug: chromium:1012386 Change-Id: I9cc6f025f00159f9424c054a3395542b9db00b89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848211Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Robert Sesek <rsesek@chromium.org> Cr-Commit-Position: refs/heads/master@{#64254}
-
Frank Tang authored
setUnicodeKeywordValue doesn't remove unrelated keyword/value pairs when the locale is too long, which causes NumberFormat to fail when calling createInstance. Fix this by using LocaleBuilder to add keyword/value into a new locale instead of removing the keyword. Also see https://unicode-org.atlassian.net/browse/ICU-20862 Bug: chromium:1012579 Change-Id: I0f664f60dad8fe786443c8ca8b21ea43323cbf49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1855586Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64253}
-
Clemens Backes authored
The API was marked to be depracated soon in https://crrev.com/c/1847366. Chromium switched to the new APIs in https://crrev.com/c/1855822. R=ulan@chromium.org Bug: v8:9810 Change-Id: I0befb06e180b57ec21ca4c2d56fa8e10a36b0d9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856001Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64252}
-
Igor Sheludko authored
This reverts commit d471ec9f. Reason for revert: Unexpected redness on non-ptr-compr bots. Original change's description: > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > Bug: v8:7703 > Change-Id: Id7858d2d7324670d01836f7acbb952cd99c4a8b7 > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > Cq-Include-Trybots: luci.v8.try:v8_linux64_cfi_rel_ng > Cq-Include-Trybots: luci.chromium.try:fuchsia_x64,linux-rel,mac-rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849522 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64248} Tbr: verwaest@chromium.org,machenbach@chromium.org No-Tree-Checks: true Bug: v8:7703 Change-Id: I841d9722642f75f1277aedd70c4476aee041d946 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857218Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64251}
-
Seth Brenith authored
The pointer to the first page of code space is not consistent and therefore shouldn't be included in the mkgrokdump output. No-Tree-Checks: true Bug: v8:9844 Change-Id: I697c34e30e9b67b44e603e92d4bd3c7b81c1af3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856511 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64250}
-
Leszek Swirski authored
Bug: chromium:1012301 Change-Id: I805affc8b18130d9d4de995eed8a905d7fcd4d75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856005 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64249}
-
Igor Sheludko authored
Bug: v8:7703 Change-Id: Id7858d2d7324670d01836f7acbb952cd99c4a8b7 Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_cfi_rel_ng Cq-Include-Trybots: luci.chromium.try:fuchsia_x64,linux-rel,mac-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849522 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64248}
-
Ulan Degenbaev authored
TSAN complains about missing synchronization on access to the page flags because it does not support and recognize the memory fence we emit after page initialization. This adds a TSAN only acquire load to the code accesses page flags similar to the existing load in MarkObject. Bug: v8:9842 Change-Id: I34dac308ac1cce1d74a4a1bad95a482abc071595 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856008Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64247}
-
Igor Sheludko authored
When we allocate a large page we write a free space filler of the object's size which is encoded as a Smi. Previously the 1Gb didn't fit into 31-bit Smi. In addition, when pointer compression is enabled we should use the same limitation as we had for 32 bit architectures. Bug: v8:9767, chromium:1013042 Change-Id: I6e372324417f03977943f18816eaaf49540184ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856007Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64246}
-
Jiayao Lin authored
When building with GCC8.1, has error: variable ‘kUpperBoundIsMax’, ‘kLowerBoundIsMin’ set but not used [-Werror=unused-but-set-variable] so, using USE(var) to fix this error Change-Id: I05133d3cb5843f4c0a4a59591470b0fcaa21f16f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848852 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64245}
-
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}
-