- 05 Feb, 2020 4 commits
-
-
Clemens Backes authored
This CL adds the "WasmDebugBreak" builtin for x64, ia32, arm and arm64. It stores all wasm parameter registers to the stack and calls the respective runtime function. The runtime function does not do anything yet, but the inspector/debugger/wasm-set-breakpoint-liftoff test will already execute both the builtin and the runtime function. R=thibaudm@chromium.org Bug: v8:10147 Change-Id: I445fdd7c202480ece951f5efbb4845cf21410d91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036082Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66126}
-
Peter Marshall authored
It isn't expensive to set this enum on the isolate and we only call this in chrome when the ThreadDebugger is enabled anyway. This means we have a correct idle state to use with the upcoming CDP event which emits the thread state. Bug: chromium:1025490 Change-Id: Ia555ac8c401d0ad7c72d4cbc442be388ce166131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036087Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#66125}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/2283658..7dffbb7 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/ebf2bec..2e4a40a Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/306f375..10b1902 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/dbd3825..9f40209 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/9ce85c8..847296c TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I28cafd08fccb8d9549717d90c10d7da1948fdb72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035739Reviewed-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@{#66124}
-
Ng Zhi An authored
These instructions were probably leftover from an earlier cleanup. We can move them into respective macro lists, then delete away the redundant declarations, definitions, disasm, and tests. We were missing disasm tests for SSE2_INSTRUCTION_LIST_SD, so add that in. Change-Id: I8f27beaf57e7a338097690073910a0863f00b26a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036833Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66123}
-
- 04 Feb, 2020 31 commits
-
-
Andreas Haas authored
The instruction selector assumed for Word32AtomicPairCompareExchange nodes that if there exists a Projection(1) user, then there also exists a Projection(0) user. This, however, is not the case, because TurboFan eliminates unreachable nodes. The missing projection node lead to a failed DCHECK in the register allocator. With this CL we allocate the right registers for the existing projections, and allocate the other needed registers as temp registers. R=gdeepti@chromium.org Bug: v8:10140 Change-Id: Id50768c3cb712db5e0eb3b9dcd0a8a479e20953a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030731Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66122}
-
Ng Zhi An authored
The implementation is pretty much the same, and we instead delegate to a macro assembler to decide if we want the sse or avx instruction. This unification will simplify optimization of constant shifts later on. Bug: v8:10115 Change-Id: I68e60cb3fd51156438989812be189f71e6e47ba7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2026470Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66121}
-
Michael Achenbach authored
This reverts commit 02e57873. Reason for revert: High flakiness and broken GPU builders. See: https://crbug.com/v8/10178 (speculative revert) Original change's description: > heap: Delay completing marking > > Delay completing marking (and thus the atomic GC pause) during JS > executions, increasing the chance to finalize the garbage collection > from a task. This is beneficial as it avoids stack scanning which is > expensive and can keep alive outdated objects in case of unified heap. > > Completing will be delayed at most by some overshoot factor (10%). > > In addition, the GC keeps the weighted average of previously recorded > time to incremental marking task invocations and bails out if the > task is expected to arrive too late. > > Bug: chromium:1044630 > Change-Id: I10e63e6aaa88d8488d4415f311016dce2b4e62a2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030906 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66107} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org Change-Id: I0cd3f1189d0f83754350d5bdaaf82cb3c4d402c8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1044630, v8:10178 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037434Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66120}
-
Ng Zhi An authored
This relands commit 5cfe053e. Original change's description: > [wasm-simd][liftoff] Add S128 case for stack movements > > The two cases we are fixing here are Construct and > LoadCallerFrameSlot, which are closely related. > > Construct is called during PrepareCall, where we build up > LiftoffStackSlots when we need to move an arg from caller's stack frame > into callee's stack frame. LoadCallerFrameSlot is the parallel to > this, called in ProcessParameter during decoding of the callee's > function body. > > In most cases, Construct needs a new case to handle kWasmS128, and calls > the relevant assembler to push a s128 onto the stack. > > ARM64 requires 16-byte alignment of sp, so we need to Claim the right > number of kXRegSize slots first, which requires > us traversing the list of slots to figure out how many s128 values there > are. This is a straightforward way to fix this, if efficiency is a > problem, we can change LiftOffStackSlots::Add to sum up the slot sizes. > > On IA32, pushing s128 values will require 4 calls to push. Instead, we > use a sub and two movdqu, which will generate less code in most cases. > > On x64, there is no 128-bit push, so we call push twice. > > Bug: v8:9909 > Change-Id: I3af35b8462ea9c3b9b2d90800c37d11b5e95be59 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015945 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65956} Bug: v8:9909 Change-Id: Icdaead289abe13faf75bb9e049929f7fd7c59a08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036760 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66119}
-
Thibaud Michaud authored
This is a reland of 45ea0150 Original change's description: > [wasm] Use memcmp to compare module bytes > > This is much faster than std::lexicographical_compare. > > R=clemensb@chromium.org > > Bug: chromium:1048554 > Change-Id: I5f0ba22654e172535b6e6fcf6d2a460e278d3cfd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036078 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66109} Bug: chromium:1048554 Change-Id: I04d4b1ea8354f7d0567100dec10be0de6ca0ed37 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037432 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66118}
-
Thibaud Michaud authored
Ensure that the top tier streaming callback is called, even when the native module is actually fetched from the cache rather than compiled. This preserves the old behavior, such that the cache stays an implementation detail to clients of the streaming compilation API. R=clemensb@chromium.org Bug: v8:10165 Change-Id: Ib243c97529900f76b7b9cd5d1d57f259bc38225c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035875 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66117}
-
Johannes Henkel authored
"Remove the JSON parser and revamp Value::parseBinary." Upstream review: https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/2026351 In addition to the upstream changes, this PR includes the necessary tweaks to the V8 inspector (now taking the detour via CBOR to parse Javascript). New Revision: 0e0a1995497511008864546c094e885f3f1e13a3 Change-Id: I5ccfea5a3e1bab3e183b45c87726747d17d06944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020518Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66116}
-
Michael Lippautz authored
When not being embedded, there's no need to try to share time with the embedder. Additionally, avoid too small step sizes. Bug: chromium:1044630, chromium:1048631 Change-Id: I227bfd120b5ce1976935d27c2140263f7364eb51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036085 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66115}
-
Michael Achenbach authored
This will allow uploading repro test cases to clusterfuzz for already suppressed known issues. This will allow tracking if those issues still reproduce and that suppressions don't become stale. No-Try: true Bug: chromium:1044942 Change-Id: I997f11293c51836b97d143b0fea992055b39955e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036083 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#66114}
-
Steve Blackburn authored
Change the TPH API so that it uses v8::internal::Isolate rather than v8::isolate. The third party heap is within the internal namespace and ultimately needs access to v8::internal::Isolate to do things such as adding code ranges. There's no reason for it to use v8:Isolate. Bug: v8:9533 Change-Id: I8c3ecd6278081f03133013d4e3b02fb3ed228baf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036088Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Steve Blackburn <steveblackburn@google.com> Cr-Commit-Position: refs/heads/master@{#66113}
-
Michael Achenbach authored
No-Try: true Bug: chromium:1048620 Change-Id: I399144a9d8075efe40125dfcbe1dbbd0aabe0fe9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036080Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66112}
-
Maya Lekova authored
This reverts commit 45ea0150. Reason for revert: Breaks UBSan - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/9777 Original change's description: > [wasm] Use memcmp to compare module bytes > > This is much faster than std::lexicographical_compare. > > R=clemensb@chromium.org > > Bug: chromium:1048554 > Change-Id: I5f0ba22654e172535b6e6fcf6d2a460e278d3cfd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036078 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66109} TBR=clemensb@chromium.org,thibaudm@chromium.org Change-Id: Ic4323af356bfd2698043b4f3ecb21367f1044446 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1048554 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037430Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#66111}
-
Clemens Backes authored
The debug side table is indexed by pc offset. Offsets change if breakpoints are added or removed, hence we cannot reuse the debug side table when compiling another version of the function (with a different set of breakpoints). Thus store the debug side table per code object instead of per function. R=thibaudm@chromium.org Bug: v8:10147 Change-Id: Ifd77dd8f43c9b80bc4715ffe5ca8f0adca2aaf42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030922Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66110}
-
Thibaud Michaud authored
This is much faster than std::lexicographical_compare. R=clemensb@chromium.org Bug: chromium:1048554 Change-Id: I5f0ba22654e172535b6e6fcf6d2a460e278d3cfd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036078Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66109}
-
Steve Blackburn authored
These guards are needed since the third part heaps don't use the deserialization reservation system. Bug: v8:9533 Change-Id: I0e8bd7928581979bed15abdfaf639c9fdfc8a30f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030908 Commit-Queue: Steve Blackburn <steveblackburn@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66108}
-
Michael Lippautz authored
Delay completing marking (and thus the atomic GC pause) during JS executions, increasing the chance to finalize the garbage collection from a task. This is beneficial as it avoids stack scanning which is expensive and can keep alive outdated objects in case of unified heap. Completing will be delayed at most by some overshoot factor (10%). In addition, the GC keeps the weighted average of previously recorded time to incremental marking task invocations and bails out if the task is expected to arrive too late. Bug: chromium:1044630 Change-Id: I10e63e6aaa88d8488d4415f311016dce2b4e62a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030906 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66107}
-
Michael Lippautz authored
TracedReference is supposed to be as light-weight as possible without destructor or other callbacks, essentially just representing a plain managed reference. Change-Id: Iae52cf7460e3623f1fb7d183757ecd39b2431369 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033173 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66106}
-
Leszek Swirski authored
This CL templatizes some methods in BigInt on the Isolate type, to allow BigInts to be allocated off-thread from a BigInt literal. A necessary side-effect is exporting the Isolate class in its entirety, to allow it to be used as a specializing type for ' HandleFor' in unittests. Bug: chromium:1011762 Change-Id: I768f9e4d46a4532d6818d9a67c13801bc5952e5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036079 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66105}
-
Michael Achenbach authored
No-Try: true Bug: chromium:99679 Change-Id: I38af71ff062cb3662034f2e52da86a8f1de9280c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036081Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66104}
-
Victor Gomes authored
Different contexts have different header sizes now. The function ScopeInfo::ContextHeaderLength should be used instead of Context::MIN_CONTEXT_SLOTS. Bug: chromium:1021884 Change-Id: Ia9ea321cfb19d2a2ae0bc12c7db621f7d35b3b51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036074 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66103}
-
Clemens Backes authored
This is mostly used for regression tests which don't need that function. If we want to wrap it for inclusion in an existing test file, we can easily add a function around it, and name it properly. R=ahaas@chromium.org Bug: v8:10177 Change-Id: I2aedcdfad09fe1fe07af9f0caa2b8bd45da902f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036077Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66102}
-
Leszek Swirski authored
The Factory/OffThreadFactory allows us to cleanly separate object construction behaviour between main-thread and off-thread in a syntactically consistent way (so that methods templated on the factory type can be made to work on both). However, there are cases where we also have to access the Isolate, for handle creation or exception throwing. So far we have been pushing more and more "customization points" into the factories to allow these factory-templated methods to dispatch on this isolate behaviour via these factory methods. Unfortunately, this is an increasing layering violation between Factory and Isolate, particularly around exception handling. Now, we introduce an OffThreadIsolate, analogous to Isolate in the same way as OffThreadFactory is analogous to Factory. All methods which were templated on Factory are now templated on Isolate, and methods which used to take an Isolate, and which were recently changed to take a templated Factory, are changed/reverted to take a templated Isolate. OffThreadFactory gets an isolate() method to match Factory's. Notably, FactoryHandle is changed to "HandleFor", where the template argument can be either of the Isolate type or the Factory type (allowing us to dispatch on both depending on what is available). Bug: chromium:1011762 Change-Id: Id144176f7da534dd76f3d535ab2ade008b6845e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030909 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66101}
-
Michael Achenbach authored
Respective differences were fixed and the suppressions didn't fire anymore according to the statistics. No-Try: true Bug: chromium:664068, chromium:667678 Change-Id: I5e1aa802e0b0288a73d0f236c154289ab45314a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035878Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66100}
-
Clemens Backes authored
This makes the output of --wasm-fuzzer-gen-test more useful by adding a comment at the end of each line. This prevents clang-format from breaking up individual lines. R=ahaas@chromium.org Bug: v8:10177 Change-Id: I222f7e30c84712357159e837e8b2e36737696669 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036076Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66099}
-
Michael Achenbach authored
TBR=mslekova@chromium.org No-Try: true Change-Id: Ib39993d6c82d499d8dc0f278cff4ec7dbfb345d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036075Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66098}
-
Toon Verwaest authored
This changes how we setup modules from being entirely bytecode based to a single fixed array with metadata that's passed into a runtime function DeclareModuleExports, similar to DeclareGlobals. This is preperatory work to replace the bytecode that calls those functions with explicit calls before we even start running the code. In the case of modules that will obviate the need for modules to be generators. Change-Id: Ibf1c913a9dc78041e3001b174c66ab89226d9c8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030733 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66097}
-
Clemens Backes authored
This method was used to implement deserialization via the value serializer. It was deprecated since this functionality is not used any more, and hence untested. This CL cleans up by removing the deprecated method and two private helper methods. R=adamk@chromium.org Bug: v8:10155 Change-Id: I4dda1949fd4f1b499cb6f8d6e6a76b642179303a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033171Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66096}
-
Clemens Backes authored
If we need a byte register, but {src} is none, we should definitely use another register. R=ahaas@chromium.org Bug: chromium:1048241 Fixed: chromium:1048241 Change-Id: I3396826986e1823250ad6855b84f4b05faaf3b90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036073Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66095}
-
Yu Yin authored
port c10153b4 https://crrev.com/c/2023399 port 009993ad https://crrev.com/c/2014753 Bug: v8:9909 Change-Id: Ia4f54340f0c6751f14c5852688741fa8fbef1f74 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035511Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Yu Yin <xwafish@gmail.com> Cr-Commit-Position: refs/heads/master@{#66094}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/67cd3fb..2283658 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/0b01653..ebf2bec Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/906bfde..e931018 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/80ad0bd..9ce85c8 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I1772b79cdf76f43eb1db5361f3d5ff360dbf5a82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035735Reviewed-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@{#66093}
-
Natalie Silvanovich authored
Bug: chromium:1048354 Change-Id: Ib37c33f918e96b100926b8247a2ca034482fb978 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028840 Commit-Queue: Natalie Silvanovich <natashenka@google.com> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66092}
-
- 03 Feb, 2020 5 commits
-
-
Michael Lippautz authored
When the embedder integrates in V8's garbage collector the performance of the atomic phase is sensitive to how much embedder memory is found through marking the overall transitive closure. Before this patch, V8 would help out tracing the embedder's heap when making progress through tasks but not on allocations. In addition, V8 would complete the garbage collection when it has observed it's own marking worklists as empty 3 times (*). This can create performance cliffs when there's a lot of work still to be done on the embedder side. This patch adds helping steps on allocation that are proportional to the bytes that V8 would otherwise process, guaranteeing some progress as long as there's V8 allocations. This allows us to remove (*). Potential Tradeoffs: - More time spent in V8's garbage collection metrics as we slightly limit the chances for the embedder to mark objects through tasks. - Prolonged V8.execute time (JS execution) + Faster progress + Less memory + Smaller atomic pause time Change-Id: I160f063209f7e129b9c884206f833706b69dadc1 Bug: chromium:1044630 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2025371 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66091}
-
Ng Zhi An authored
This relands commit 7c32fa05. Some test cases need to be updated, since we will bail out to TurboFan where previously Liftoff was happy to run, when SIMD is not supported. Original change's description: > [wasm-simd][liftoff] Check CpuFeatures for SIMD support > > If Wasm simd128 is not supported on this particular hardware, we bail > out to TurboFan. > > Bug: v8:9909 > Change-Id: Ie46e154426783ba099b7c0facc906670cda1bdd0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029427 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66055} Bug: v8:9909 Bug: v8:10169 Change-Id: I850e1fe6bfbd12fb2eec052aa8367624c09f7a08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030354 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66090}
-
Jakob Kummerow authored
After allowing larger strings on 64-bit builds, this test OOMs on Android devices that don't have enough memory. Tbr: machenbach@chromium.org Change-Id: I05c44d7074388a4306e5266ba1aa9da760c83377 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035877Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66089}
-
Ng Zhi An authored
The assembly of sqrtpd when using Sqrtpd macro was wrong, since Sqrtpd(xmm1, xmm1) will incorrect generated vsqrtpd(xmm1, xmm1, xmm1), which is nonsensical, since vsqrtpd only takes two operands. The expected instruction should be vsqrtpd(xmm1, xmm0, xmm1) in terms of the encoding, which is vsqrtpd(xmm1, xmm1). So, move sqrtpd and cvtps2dq out into their own macro list, because they have two operands in their AVX form, unlike the rest of the instructions in SSE2_INSTRUCTION_LIST. Also updated disasm and tests to use this new list. Fixed: v8:10170 Change-Id: Ia9343c9a3ae64596bbc876744556e1dcea2a443b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2032195Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66088}
-
Ng Zhi An authored
The implementation is pretty much the same, and we instead delegate to a macro assembler to decide if we want the sse or avx instruction. This unification will simplify optimization of constant shifts later on. Bug: v8:10115 Change-Id: If9a17519a746f0a8474e75dbdebb8e4f5b0d07c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2026469Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66087}
-