- 03 Feb, 2020 14 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}
-
Ng Zhi An authored
test-run-wasm-simd/RunWasm_S8x16MultiShuffleFuzz_turbofan was failing reliably with --no-enable-avx. (Even though the shuffle sequences were randomly generated, in practice we quite quickly hit a case where we will get a segfault.) For 32x4swizzle and 32x4 shuffle, they use pshufd, which can take an operand, but needs to be 16-byte aligned, which they are not, current. So force them to be registers for now. This is similar to what we do in the x64 selection too. Bug: v8:9198 Change-Id: If319ff276202d4be095714a6cb18dec0d0551efd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2032202Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66086}
-
Michael Achenbach authored
Crashes in the presence of RangeError happen often during differential fuzzing. Until now we have ignored such cases completely. After this change we compare as much output as possible when one or both runs have crashed, dramatically increasing the coverage. No-Try: true Bug: chromium:1048099 Change-Id: I923c10e9064b5dc6cae1e39a254e221d2867e0e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030914 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#66085}
-
Sigurd Schneider authored
This CL implements functionality to allow an embedder to mark a debug scope as terminate-on-resume. This results in a termination exception when that debug scope is left and execution is resumed. Execution of JavaScript remains possible after a debug scope is marked as terminate-on-resume (but before execution of the paused code resumes). This is used by blink to correctly prevent resuming JavaScript execution upon reload while being paused at a breakpoint. This is important for handling reloads while paused at a breakpoint in blink. The resume command terminates blink's nested message loop that is used while to keep the frame responsive while the debugger is paused. But if a reload is triggered while execution is paused on a breakpoint, but before execution is actually resumed from the breakpoint (that means before returning into the V8 JavaScript frames that are paused on the stack below the C++ frames that belong to the nested message loop), we re-enter V8 to do tear-down actions of the old frame. In this case Runtime.terminateExecution() cannot be used before Debugger.resume(), because the tear-down actions that re-enter V8 would trigger the termination exception and crash the browser (because the browser expected the tear-down to succeed). Hence we introduce this flag on V8 that says: It is OK if someone re-enters V8 (to execute JS), but upon resuming from the breakpoint (i.e. returning to the paused frames that are on the stack below), generate a termination exception. We deliberated adding a corresponding logic on the blink side (instead of V8) but we think this is the simplest solution. More details in the design doc: https://docs.google.com/document/d/1aO9v0YhoKNqKleqfACGUpwrBUayLFGqktz9ltdgKHMk Bug: chromium:1004038, chromium:1014415 Change-Id: I896692d4c21cb0acae89c1d783d37ce45b73c113 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1924366 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#66084}
-
Jakob Kummerow authored
Without pointer compression, the max string length on 64-bit platforms used to be 2**30 (minus header). With pointer-compression, this was accidentally lowered to 2**28 (which is the historical limit for 32-bit platforms). This CL bumps the limit on 64-bit platforms to 2**29, which is the maximum we can support given that any heap object's size in bytes must fit into a Smi (which are now 31-bit on all 64-bit platforms, with or without pointer compression). Change-Id: I263544317d9e6137f6b6a044784a21f41a2761b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030916Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66083}
-
Georgia Kouveli authored
Bug: v8:10026 Change-Id: I8ee836ee6298415a21cf487bc3d0e5f803fc6186 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965590 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66082}
-
Thibaud Michaud authored
This is a reland of 9781aa07 Original change's description: > Reland "[wasm] Cache streaming compilation result" > > This is a reland of 015f379a > > Original change's description: > > [wasm] Cache streaming compilation result > > > > Before compiling the code section, check whether the > > bytes received so far match a cached module. If they do, delay > > compilation until we receive the full bytes, since we are likely to find > > a cache entry for them. > > > > R=clemensb@chromium.org > > > > Bug: v8:6847 > > Change-Id: Ie5170d1274da3da6d52ff1b408abc7cb441bbe3c > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002823 > > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#66000} > > Bug: v8:6847 > Change-Id: I0b5acffa01aeb7dade3dc966392814383d900015 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2022951 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66047} Bug: v8:6847 Change-Id: I272f56eee28010f34cc99df475164581c8b63036 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030741 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66081}
-
Michael Lippautz authored
Similar to other stack references they don't need to be scanned on incremental marking start. Bug: chromium:1046277 Change-Id: I9fb3ee768df0288b5a61f09e680e321a8cb7b895 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030915Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66080}
-
Pierre Langlois authored
When enabling tracing with the debugger 'trace' command, enable logging everything instead of just disassembly and general purpose registers. This is not only more useful but also consistent with the --trace-sim flag. Change-Id: I4537ceed30edc63f4b3f39f1958ebef0cb303bf1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033172Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#66079}
-
Dan Elphick authored
This moves several simple StateValuesAccess methods as well as SparseInputMask::InputIterator::IsReal into their header files so they can be more easily inlined. This gives about a 7% improvement to the BackgroundSelectInstructions runtime call stat. Also marks some methods called by the new methods as V8_PRIVATE_EXPORT so component build test can build. Bug: v8:10051 Change-Id: I3e34977a4fa660d3f4f55fd4f2c0b2370d5d2bc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2023559Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#66078}
-
- 02 Feb, 2020 2 commits
-
-
Michael Achenbach authored
This ports: https://crrev.com/c/2026424 TBR=mslekova@chromium.org,liviurau@chromium.org No-Tree-Checks: true Bug: chromium:1000907 Change-Id: I436baadb8e8357f11a9150c5118c461b03140260 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030907Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66077}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7e7da8b..67cd3fb TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I831ce7a7b68402df3a58806cf3548d54621c5afc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031826Reviewed-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@{#66076}
-
- 01 Feb, 2020 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/96fd652..7e7da8b Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a66ca23..0b01653 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ae510e8..906bfde Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/23191fa..80ad0bd Rolling v8/tools/luci-go: git_revision:37a855b64d59b7f079c9a0e5368f2757099d14d3..git_revision:8c17d4a7b01d6257e927c629cc623ebc6a6b3711 Rolling v8/tools/luci-go: git_revision:37a855b64d59b7f079c9a0e5368f2757099d14d3..git_revision:8c17d4a7b01d6257e927c629cc623ebc6a6b3711 Rolling v8/tools/luci-go: git_revision:37a855b64d59b7f079c9a0e5368f2757099d14d3..git_revision:8c17d4a7b01d6257e927c629cc623ebc6a6b3711 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ib1ff1120322bf8fa515b41f548693f79fa9c32ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031825Reviewed-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@{#66075}
-
- 31 Jan, 2020 15 commits
-
-
Ng Zhi An authored
Define a macro in code-generator-x64 to help identify cases when the shift value is an immediate/constant. In those cases we can directly emit the shifts without any masking, since the instruction selector would have modulo-ed the shift value. We also don't need any temporaries in this case. This is only x64 codegen, optimizations for other archs will come in future patches (and will probably look very similar to this). The current test case passes the shifts as an immediate, so we add a new path that loads the shift value from memory, thereby exercising the slower path of non-immediate shift value. Bug: v8:10115 Change-Id: Iaf13d81595714882a8f5418734e031b8bc654af3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2026067Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66074}
-
Frank Tang authored
Fix changes caused by pull/75 Fix skeleton to unit code which missed the case of ...-per-percent. https://github.com/tc39/proposal-unified-intl-numberformat/pull/75 Bug: v8:10112 Change-Id: I06f4668894c95234f36944cf3dcf2b8dbafb8b8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2032713Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#66073}
-
Ng Zhi An authored
This relands commit e8832647. The flaky test failures seems to be related to tiering, Liftoff generating different call descriptors from TurboFan when Simd128 is unsupported (since TurboFan will lower the graph, but Liftoff can continue running simd-call.js just fine). We temporarily disable tiering for this test, until we get a proper fix, like https://crrev.com/c/2029427/, but that fix requires this change since more tests will fail without the lowering fixed. Bug: v8:10169 Bug: v8:10154 Original change's description: > [wasm-simd] Fix scalar lowering of kParameter > > Lowers the call descriptor of a wasm function if it contains simd. > > Also fixes a couple of issues with the lowering of kParameter: > - the old_index == new_index check is incorrect, it would only work if > the s128 parameter is the first parameter > - the old_index was also not adjusted to account for Parameter[0] being > the wasm instance object > - new_index needs to be adjusted to account for the instance object too > > These fixes make it more similar to the lowering of kParameter in > int64-lowering.c. > > Also add a new mjsunit test to exercise this logic. > > Bug: v8:10154 > Change-Id: Ia767a464c26a6a78fd931eab9e6897890a0904e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020521 > 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@{#66032} Change-Id: I1e27825025aefc5a42aeeb87d0447d6594388fa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029147Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66072}
-
Peter Marshall authored
We will use this state in devtools via the inspector to indicate whether a thread is currently stuck polling in atomics.wait. VMState already distinguishes the important states we care about which are idle vs. running JS. We also want to know the state for atomics.wait(), which is commonly used in WebWorkers to poll the main page for work to do. This CL just adds and maintains the state and adds assertions in atomics tests. Another CL will emit inspector notifications when the VMState changes in a way that the inspector cares about. Re-flow comments as a drive-by cleanup. Bug: chromium:1025490 Change-Id: I961051bfb846aa20454a56214310370ea8e47d1c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033168 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#66071}
-
Michael Lippautz authored
The flag is unused. Bug: chromium:1044630 Change-Id: Ib499cdd559451c9f23c3c98b187755ef6748bffc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030743 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66070}
-
Benedikt Meurer authored
When async stepping through code where only extension scripts are on the stack, we the iterator is not gonna yield any frames, since it ignores all extension frames. Bug: chromium:1045863 Change-Id: Ifdb966e47bf1d090fa695d066003c7aff343f658 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033167 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#66069}
-
Michael Achenbach authored
This adds two flags for whitelisting natives on fuzzers: --allow-natives-for-fuzzing: Enables a small subset of runtime functions and replaces others with undefined. --allow-natives-for-differential-fuzzing Restricts the allowed runtime functions even further, excluding the ones that break differential fuzzing. Bug: chromium:1044942 Change-Id: I890bd4a6ff7c2e483dd74155290a7ace06f85239 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020773Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66068}
-
Peter Marshall authored
Bug: v8:10155 Change-Id: I0ce8a71ab364f9281ab39df1f057bd93d7bef061 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033165 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66067}
-
Clemens Backes authored
Various accessors (like {has_eval_from_shared} or {is_wrapped}) are only allowed on scripts that are not wasm. This currently makes printing wasm scripts fail. This CL fixes that by having separate paths for printing wasm scripts vs non-wasm scripts. R=jkummerow@chromium.org Change-Id: I8771ded22999504f2fb2c55bc0a1d95c25e988c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033164Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66066}
-
Michael Achenbach authored
No-Try: true Bug: chromium:1047632 Change-Id: I01f02cf5ffa53d261311b8265e0005cfe5257f4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030739Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66065}
-
Leszek Swirski authored
Factory::NewFunction now requires names passed into it to be flat. Make sure to flatten Wasm function names when creating new Wasm JS functions. Fixes: chromium:1047368 Change-Id: I7bd2d8bc83ae8fab901ab469872bce0f703fc3ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030738 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66064}
-
Clemens Backes authored
This shipped in v7.9, which is stable since six weeks. We do not test the previous configuration any more and don't plan to move back, hence remove the flag and clean up the code. R=ahaas@chromium.org Bug: v8:10155 Change-Id: I6b981f4be686473a911f041952cb684749d9fe7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030732 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66063}
-
Clemens Backes authored
As discussed offline, the current implementation implement each situation separately. I think we can simplify the code a lot by sharing code between the different paths. This CL does that by 1) implementing the kI64Store case separately, because it does not have all the register contraints that the others have, and 2) moving all logic to ensure that the {src} register is usable before the switch, such that it's shared by all the compare-exchange cases. As a side produce, this also fixes issue 1045225, because for i64 stores which actually only use the lower half of {src}, only that half will be pinned. R=ahaas@chromium.org Bug: chromium:1045225, v8:10108 Change-Id: I0be025b9706d563835ae6337d45b88e0233eacad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029414Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66062}
-
Milad Farazmand authored
Negating 1 << 31 as a signed integer overflows and causes undefined behaviour hence SetS390OverflowCode may never get set. Change-Id: I4a479f0d3c71eaaa58ae0925d744e7779ecd833b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031861Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66061}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/25075ce..96fd652 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/707a874..a66ca23 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/1a0daf7..ae510e8 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/953ea7a..23191fa Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/885b3fe..0ac2847 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I693b48fe867cb591b581c749445892d2f873aec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031906Reviewed-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@{#66060}
-
- 30 Jan, 2020 8 commits
-
-
Milad Farazmand authored
Change-Id: I6f7d3a5f123edea8674c0f9217b03760f3af016f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028451Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66059}
-
Zhi An Ng authored
This reverts commit 7c32fa05. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/35618 Need to update expected test output. 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} TBR=gdeepti@chromium.org,clemensb@chromium.org,zhin@chromium.org Change-Id: I7def513a619c609ff820ff1b9aefa92e1741e4a2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031888Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66058}
-
Milad Farazmand authored
Port e920b2e3 Original Commit Message: - Debugger stepping assumes that the pc points to the instruction that should get executed next, so we need to increment it when we hit a stop or a bkpt instruction or else we'll end up in an infinite loop. - The "break" and the "stop unstop" command write into code space, so they need to temporarily make code space writable or else they just crash. (Note that this doesn't work for embedded builtins.) R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I1a9507f621c83dd94f2de230f7c75bc1fee95dd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2031204Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66057}
-
Ng Zhi An authored
On backends that do not have s128 support in Liftoff, tests will bail out to TurboFan, so tests will continue running and passing. Bug: v8:9909 Change-Id: I3b596a73b6cb2e8645a99c65a935026f9e1a8d55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029332Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66056}
-
Ng Zhi An authored
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/+/2029427Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66055}
-
Eric Leese authored
This reverts commit 410ca4c5. Reason for revert: This was causing Chrome to hang when debugging large wasm binaries. Clean revert except for modification to test/debugger/debugger.status Bug: chromium:1047210, v8:9654 Original change's description: > [wasm] Tierdown wasm module upon "Debugger.enable" > > Put a logic in Wasm Engine to tier down all existing modules per isolate > when debugger is enabled. This CL does not handle new module added after > debugger is enabled yet. > > Bug: v8:9654 > Change-Id: I87060f5c416506543fcaf231bff9999d06ba4c0d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013692 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66017} TBR=clemensb@chromium.org,bmeurer@chromium.org,duongn@microsoft.com,szuend@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9654 Change-Id: Id49e8c69f8212e95e698d7e7267056fb2eb7e60a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030737 Auto-Submit: Eric Leese <leese@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66054}
-
Michael Achenbach authored
This uses the most common bottleneck for intercepting range-error creation in correctness fuzzing. Previous abort conditions didn't cover all cases, e.g. they didn't cover the generic NewError called by wasm-results. This also moves code for error-message suppression to the same location for readability. In a follow up we'll remove the other redundant abort conditions that are scattered through the code. Bug: chromium:1044942, chromium:1047197 Change-Id: I1b898247a304fd35112facd4048de3a02d512c96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030728Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66053}
-
Milad Farazmand authored
Port c10153b4 R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6668e7d7b260b62838d609e27e240bb670977250 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030744Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66052}
-