- 30 Mar, 2020 4 commits
-
-
Clemens Backes authored
When stepping in from JS, the stepping frame ID will not be set. Instead of ensuring to set it properly, we can just skip the check for the frame ID. It was needed before, when we didn't properly reset stepping information. Now, it's redundant anyway. Also, ensure that we don't redirect to the interpreter if the --debug-in-liftoff flag is set. Drive-by: Fix and clang-format some parts of the test (no semantic change). R=thibaudm@chromium.org, szuend@chromium.org Bug: v8:10351 Change-Id: I58a3cd68937006c2d6b755a4465e793abcf8a20c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124317Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66904}
-
Zhao Jiazhong authored
Port a3d2f7a4 https://crrev.com/c/2113301 Change-Id: I2fefac5482e55c307226b417b51ab530b1f1d3ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126588Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#66903}
-
Georg Neis authored
... instead of returning undefined. Bug: chromium:1065094 Change-Id: I0b0397a8affd44b58e7f4777f32ba22bbd001ab1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124837Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66902}
-
Clemens Backes authored
If the type check fails, we should return. Otherwise we hit an error in ToLocalChecked below. R=yangguo@chromium.org Bug: chromium:1061673 Change-Id: I39e5b90b3574d0d2b77f5d704023aabb1c8130cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116035Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66901}
-
- 28 Mar, 2020 2 commits
-
-
Michael Achenbach authored
NOTRY=true TBR=tmrts@chromium.org Bug: chromium:1065624 Change-Id: I6e49c48bb95e10b7fad1ff2c589a2dd459fff562 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124326Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66900}
-
Michael Achenbach authored
NOTRY=true TBR=tmrts@chromium.org Bug: chromium:1065624 Change-Id: I6115b867ac28650823bc2efa5305a5ea6f15b5a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124325Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66899}
-
- 27 Mar, 2020 16 commits
-
-
Zhou, Zhiguo authored
Bug: v8:9909 Change-Id: Ie9a3098bcaa894266e850cc7094894d25709afd2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2113301 Commit-Queue: Zhiguo Zhou <zhiguo.zhou@intel.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66898}
-
Ng Zhi An authored
Mostly i16x8 ops, this should complete all i16x8 ops. Bug: v8:9561 Change-Id: I73515c3c38a5a055ac00f97ba5c363df1bf3c771 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111711Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66897}
-
Ng Zhi An authored
Rework the remaining tests in grow-memory to check for first 5 offsets and last 5 offsets in the relevant pages. Bug: v8:7783 Change-Id: I59435f3c1a6f50ff808fdd045a6c7039860fc72e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116647Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66896}
-
Milad Farazmand authored
LoadTransform is not implemented on BE machines and instead, it is divided into 2 separate "Load" and "operation" nodes. We need to assure same behaviour applies on S390 simulator, however, S390 Sim does not execute BE code, it assume generated code is in LE format hence "V8_TARGET_BIG_ENDIAN" is set to false when running on Sim. This CL includes V8_TARGET_ARCH_S390_LE_SIM to assure same behaviour occurs when running on the Sim until V8_TARGET_BIG_ENDIAN can also include the simulator. Change-Id: If1decf9eccb43ac721b57d58362b8934d49cbff2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124847 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66895}
-
Michael Lippautz authored
Tbr: ulan@chromium.org Bug: chromium:1056170 Change-Id: I118b8f1911a6d61b15d3dee25aa00ab9dea4689f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124321Reviewed-by: 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@{#66894}
-
Ng Zhi An authored
All 6 replace_lane operations for ARM and ARM64. Changes to wasm-compiler required for ARM (where register aliasing is different - 2 fp registers map to 1 simd register). When src2_rc is kFpReg, and src1_rc is kFpRegPair, we still need to pin src2 when getting a register for src1, since the registers can overlap. (On other backends, src1_rc == src2_rc == kFpReg, so the current condition is met, and we correctly pin src2). Same for result_rc and src2_rc. Bug: v8:9909 Change-Id: Ib39b71534290a7109fb0da4bf62dabc66460a0dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2117637 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66893}
-
Clemens Backes authored
The output extends by four more breaks, since when stepping out of the function that has the breakpoint, we now also step through the two other functions on the stack. R=thibaudm@chromium.org Bug: v8:10351 Change-Id: I4b042cad0d88b923c3894fe979c43837260eb958 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124315 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66892}
-
Thibaud Michaud authored
DebugInfo::RemoveBreakpoint did not remove the correct breakpoint because of a confusion between offsets relative to the function and offsets relative to the module. This is not visible in the tests, as removed breakpoints are already skipped by the runtime function. Drive-by: replace a return which should have been a continue in OSR. R=clemensb@chromium.org Change-Id: I574c474139e969bd91217cfa7adc806d43db3c99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120589 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66891}
-
Michael Lippautz authored
Adds: - GetStackStart - GetCurrentStackPosition - GetStackSlot which translates a stack slot through ASAN if needed Bug: v8:10354, chromium:1056170 Change-Id: I28e76f41de28415382f7cc32729e86d71e9f8f19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122033 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66890}
-
Clemens Backes authored
There are only three tests with differing behaviour if Liftoff is used for debugging. This CL thus stages the --debug-in-liftoff flag behind --future (tested by the "future" variant) and excludes the three tests. This allows us to test the other (already working) tests for regressions, and iteratively shrinking down the list of failing tests. Drive-by: Tier down modules in tests before testing debugging features to avoid hitting a DCHECK in Liftoff recompilation for debugging. R=thibaudm@chromium.org, ecmziegler@chromium.org Bug: v8:10351 Change-Id: I3b1dd1a29258ecf13c1f60020fb06358005558d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122021Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66889}
-
Igor Sheludko authored
Use Oboe.js streaming JSON parser for reading tracing file which provides the following advantages: 1) streaming parsing allows keeping alive only relevant entries which should consume less memory when parsing of huge files (although currently the whole file is kept in memory anyway), 2) avoids the need to sanitize tracing file Bug: v8:10155 Change-Id: Id5268264a610eff804672d09b3e9f3ac353b67de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120542 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#66888}
-
Michael Lippautz authored
This CL adds basic infrastructure for: - MakeGarbageCollected - GarbageCollected and related type traits - Heap (API / internal) - Basic allocation based on malloc - CollectGarbage without marking This allows for allocation and reclamation through an explicit GC call. No objects are held alive from any source (stack, globals, refs), yet. The exact wiring of platform is future work. Change-Id: I81b7c0ba7b525188f8c0bf9de3b7af35d34322af Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120538 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66887}
-
legendecas authored
Bug: v8:10274 Change-Id: Ica2b8873c84001ab8c3877747329eb3c78d3ea5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2114723 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66886}
-
Andreas Haas authored
This CL fixes a spec violation that new spec tests uncovered. R=thibaudm@chromium.org CC=ecmziegler@chromium.org Change-Id: Ie8ae455117f1c719815bad78f14c3b2c5e404e79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122023 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66885}
-
Kim-Anh Tran authored
This patch changes the order in which stack values are shown in the stack scope. As a result, changes to the stack show up at the end of the stack. Bug: chromium:1043034 Change-Id: I735fc29d3957b6484589554ce046114e1b7bd9e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122987Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#66884}
-
Clemens Backes authored
This is a minor cosmetic fix. Wasm opcodes are bytes, hence they should always be printed as an even number of hexadecimal digits. Note that currently we only print a single byte anyway, but in the future we will want to extend this to correctly parse multi-byte opcodes. Those will also be printed as an even number of characters then. R=thibaudm@chromium.org Bug: v8:10351 Change-Id: I2423277b470d74c1c72cb619c2a43bb978423bc0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122025Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66883}
-
- 26 Mar, 2020 16 commits
-
-
Ng Zhi An authored
The asm-wasm-f32 and asm-wasm-f64 tests run through a bunch of different constants. For the binops, they run through a cross product of the inputs. This patch trims down the number of constants used. The selection of constants to remove is quite arbitrary - the intial patch introduced a lot of magic constants that look random or has some pattern. I don't think they mean anything special, especially for f64 form since those values all fit in a f64. For f32 we still have a bunch of values to exceed the maximum integer representable in f32. Bug: v8:7783 Change-Id: If34b084a11acdf21b1d2933fdd0cab65be1738c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116988 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66882}
-
Michael Achenbach authored
Yet another corner case how non-deterministic timestamps slipped into the tests. Bug: chromium:1064900 Change-Id: I33e8b4c8141b3854b7eca5d7ad9b45b6f5130d9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120584Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66881}
-
Richard Townsend authored
MSVC versions 19.24 and onward generate invalid code for this function. The workaround is to deinline it. This probably costs some performance, but is not intended to be permanent. Bug: v8:10352 Change-Id: I8a9b8f70c77f26c8af86c679aae8c9fb8ec28cd7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2118530Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Richard Townsend <richard.townsend@arm.com> Cr-Commit-Position: refs/heads/master@{#66880}
-
Ng Zhi An authored
Rework testMemoryGrowPreservesDataMemOp tests so that they only test the first and last 5 offsets within the page, instead of every offset. Slight logic change: instead of storing the value C - offset (where C is a constant that is different for 32 and 16 memops), we store just the value offset. This allows us to combine the logic for all 3 memops (32, 16, and 8). But we need to add a modulo so that in the 8 bit case, we don't store a value that exceeds the maximum (the other cases will never hit a case that exceeds the max). Bug: v8:7783 Change-Id: Ibfdc77555ba2ca26391eba303050a03538f6012d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2117633Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66879}
-
Ng Zhi An authored
We were missing test cases for i16, i64, and f64. It's not super critical, but it's also an easy addition, and helps bring coverage of memory-tracing.cc up (close to 100% now). Change-Id: Ib8433f8615c900d8665ccbc33e12d6fd05d51336 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2121168Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66878}
-
Z Nguyen-Huu authored
For exported functions that do not have a name yet, we use the field name (see <name> of WasmExport) of the first export entry. Doc: https://docs.google.com/document/d/1XoXWONLBgZWQ9dhtoMpQPvD0fnnWA50OorsuSXfME3g/edit#heading=h.6yuhg1v2w3q4 Bug: v8:10242 Change-Id: Icfa55fd50e5d1c4cf10581b7d322112e9f113388 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2112684 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#66877}
-
Clemens Backes authored
Most control structures in WebAssembly do not have a clear execution semantics, they are more like markers. Hence the execute state, and the change in the state, when breaking on them and stepping over them is unclear. Hence this CL just makes them non-breakable. If the user tries to set a breakpoint on them, this breakpoint will automatically be propagated to the first instruction after the respective control opcode (this is tested for other cases in existing tests). R=thibaudm@chromium.org Bug: v8:10326 Change-Id: Iaf540a94789c9cbc87d23ddfb794e4b01776b49f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122017Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66876}
-
Nate Chapin authored
Bug: chromium:1060935 Change-Id: Ie2d92edbc9b83bf54f9009d610c13274aea32b93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2119221Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Nate Chapin <japhet@chromium.org> Cr-Commit-Position: refs/heads/master@{#66875}
-
Andreas Haas authored
This CL fixes a spec violation that new spec tests uncovered. R=thibaudm@chromium.org CC=ecmziegler@chromium.org Change-Id: I1004eca9e4f98a0960795907fea0ab263c907938 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122022Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66874}
-
Andreas Haas authored
R=thibaudm@chromium.org Change-Id: Idb20e87e6a27a816ac1898b9e4345e5aaafaf334 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122018Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66873}
-
Leszek Swirski authored
Make sure to call MaybeProcessSourceRanges in ParseOnBackground so that code coverage ranges match between main thread and background compiles. Bug: chromium:1011762 Change-Id: Ic6194083e425f4160e34a34bceb6034624cf1b9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120540Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66872}
-
Thibaud Michaud authored
The top wasm frame position can be inaccurate after removing a breakpoint and OSRing the new code. This is because we are missing the source position which was associated with that breakpoint in the old code. Fix this by explicitly introducing the missing source position. R=clemensb@chromium.org Change-Id: I0d18061c4c2411de8d2ccaaebbb4eb550a4c3160 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120591 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66871}
-
Dan Elphick authored
Now that the trace json file has changed name, update the extension checked by the --retain=json flag in generate-runtime-callstats.py. Bug: v8:10348 Change-Id: Ieb14b77d2d399a1246049170f289b4666658f376 No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122015 Auto-Submit: Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66870}
-
Clemens Backes authored
We were sometimes stopping on a one-shot breakpoints in JS code even though the last user action was actually a resume. This CL fixes that clearing all stepping in JS whenever we hit a breakpoint in wasm. R=thibaudm@chromium.org Bug: v8:10321 Change-Id: Ie5d12bb0c9e766bcbd5ad0aa225a8b14b4d608b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120588Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66869}
-
Dan Elphick authored
Fix generate-run-benchmark to pick the trace json file now that run_benchmark generates a different directory structure due to the protobuf change. Bug: v8:10348 No-Try: true Change-Id: I4d671071db68a7a82ec542bf41bf1d9afcdb3837 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120590Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#66868}
-
Kim-Anh Tran authored
This change adds a stack scope for wasm debugging. Currently the local scope contains both local variables as well as the expression stack. For now, this change duplicates the information available on stacks into the stack scope, until we have added support for the stack scope in the DevTools front-end. Bug: chromium:1043034 Change-Id: Ib0a07e07be7c53003526a7b1e1dbfaa1116b41ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093510 Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66867}
-
- 25 Mar, 2020 2 commits
-
-
Michael Lippautz authored
std::atomic loads are marked as nodiscard on MSVC. Fix the warning by feeding the load into the USE() macro. Bug: chromium:1056170 Change-Id: I72ca42d42d268c4b961d96618250229a53709472 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120543Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66866}
-
Ng Zhi An authored
For a bunch of s8x16, s16x2 and s32x4 shuffle ops (generated by s8x16shuffle). Bug: v8:9561 Change-Id: I0e5cd8a90edba8bc15918c0ca1dc830475db2769 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110952Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66865}
-