- 19 Aug, 2020 1 commit
-
-
Ng Zhi An authored
Load extends always load 8 bytes, so the access size does not depend on MachineType of the load. The MachineType is used for classifying the lane shape of the 8-byte load. Also add cctest to load splats and load extends to test OOB. (Note that load splats access size depends on MachineType). Add regression test from clusterfuzz, minimized by ahaas@. Remove the `--no-wasm-trap-handler` flag since we have a no_wasm_traps variant that should test this flag. Bug: chromium:1116019 Change-Id: I27ba051d0536ca0f6fd75dd641ca9b78132dafed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2363291 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69489}
-
- 14 Aug, 2020 1 commit
-
-
Manos Koukoutos authored
Drive-by: Add flag implications for wasm experimental features: gc -> typed_funcref, typed_funcref -> reftypes. Bug: v8:9495 Change-Id: Ia6054886935d68e79b8f463289aa9e1e9d6484f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352777Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#69403}
-
- 13 Aug, 2020 1 commit
-
-
Manos Koukoutos authored
Changes: - Move some helper functions into WasmGraphBuilder. - Introduce call_mode and null_check as additional arguments to WasmGraphBuilderInterface::DoCall/DoReturnCall. - Introduce ValueType::is_strict_reference_type. - Improve usage of ValueType API. Bug: v8:9495 Change-Id: Id3fb9f0d7a4770475ac895b03b38bfa7f2fec252 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2343083 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69372}
-
- 05 Aug, 2020 2 commits
-
-
Manos Koukoutos authored
Changes: - Remove restriction that function types cannot be used as ref types. - Introduce WasmModule::has_type(). - Remove deferred signature checks in module-decoder. Instead, check if type indices are out of bounds in consume_value_type (was bugged before). - Remove obsolete GetCanonicalRttIndex. - Refine type of ref.func. - Statically check immediate type against table type for call_indirect. - Dynamic check for call_indirect should only happen when for funcref (currently the only function supertype). - Allocate a different map per function signature (with Map::Copy). - Introduce function type equivalence and (trivial) subtyping. - Add a few elementary tests. Bug: v8:7748 Change-Id: If57d0bfd856c9eb3784191f3de423f53dfd26ef1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335190 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69250}
-
Jakob Gruber authored
With the new Turbofan variants (NCI and Turboprop), we need a way to distinguish between them both during and after compilation. We initially introduced CompilationTarget to track the variant during compilation, but decided to reuse the code kind as the canonical spot to store this information instead. Why? Because it is an established mechanism, already available in most of the necessary spots (inside the pipeline, on Code objects, in profiling traces). This CL removes CompilationTarget and adds a new NATIVE_CONTEXT_INDEPENDENT kind, plus helper functions to determine various things about a given code kind (e.g.: does this code kind deopt?). As a (very large) drive-by, refactor both Code::Kind and AbstractCode::Kind into a new CodeKind enum class. Bug: v8:8888 Change-Id: Ie858b9a53311b0731630be35cf5cd108dee95b39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336793 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69244}
-
- 03 Aug, 2020 1 commit
-
-
Jakob Kummerow authored
This is a stop-gap solution (while we wait for a proper spec) that lets managed WasmGC objects perform round-trips through JavaScript. On the JavaScript side, they appear as empty/opaque. Bug: v8:7748 Change-Id: I0dd368bc14d622f3ef41871484228267359e9b5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316306 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69207}
-
- 28 Jul, 2020 1 commit
-
-
Paolo Severini authored
Currently WebAssembly always goes through the ArgumentsAdaptorTrampoline builtin for wasm-to-js calls as soon as there's a mismatch between the actual number of arguments and the expected number of arguments. This can be made faster in cases where: 1. the callee has "don't adapt arguments" set, which is often the case for builtins, or 2. the callee has "skip adapt arguments" set, which is often the case for strict mode functions. TurboFan already supports this for JS calls: https://chromium-review.googlesource.com/c/1482735; explainer document: http://bit.ly/v8-faster-calls-with-arguments-mismatch. Even though it is probably not as common to have arity mismatches in Wasm->JS calls as it is in JS->JS calls, this still seems a worthwhile optimization to do. This CL ports the TurboFan fix to WebAssembly. In particular, the CL introduces a new WasmImportCallKind (kJSFunctionArityMismatchSkipAdaptor) for the case where the call to Builtins_ArgumentsAdaptorTrampoline can be skipped, and modifies WasmImportWrapperCache::CacheKey to also consider the arity of the imported JS function. A micro-benchmark for this change can be found here: - https://gist.github.com/paolosevMSFT/72c67591170d6163f67c9b03a7e12525#file-adapter-cc - https://gist.github.com/paolosevMSFT/72c67591170d6163f67c9b03a7e12525#file-adapter_test-js With this benchmark, we can save a 40% overhead of Builtins_ArgumentsAdaptorTrampoline for calls that pass too many arguments, while the savings for calls that pass too few arguments are less impressive: Before After callProperApplication: 563 ms 566 ms callOverApplication1: 972 ms 562 ms callOverApplication2: 962 ms 562 ms callUnderApplication: 949 ms 890 ms Bug: v8:8909 Change-Id: Id51764e7c422d00ecc4a48704323e11bdca9377f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2317061 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69110}
-
- 27 Jul, 2020 1 commit
-
-
Paolo Severini authored
Currently, when running with --trace-turbo, V8 generates a different .json file for each wasm-to-js thunk that it compiles, but these files all have the same name "turbo-wasm-to-js-0.json", and only one file is generated. This makes it difficult to actually examine the difference in the IR for this call wrappers produced for different signatures. This patch fixes this by naming each trace file as: "wasm-to-js-<kind>-<signature>-0.json", like for example "turbo-wasm-to-js-5-ii-i-0.json". Change-Id: Iebb73829cddd4f6bbf9d02ed1ce94a80dcfa5ca7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316834 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69085}
-
- 24 Jul, 2020 1 commit
-
-
Igor Sheludko authored
... that controls whether the TF graph zones should support compression. Bug: v8:9923 Change-Id: Ifbe237b75e9c92e62eb32b69d6b3b1a818269b83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308347 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#69036}
-
- 22 Jul, 2020 2 commits
-
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: I6e226888d84a790efc36ac6e7c2a32bc3426bd84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308341 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69002}
-
Richard Stotz authored
The design of this change was discussed here: https://docs.google.com/document/d/12otOj6SyXMXj0Dnnx9B6MGLMRwHPhg6RIZRazVw3tFA/ Bug: v8:10720 Change-Id: I8292dcf7272bdf4526a2d630b49fc374cdb01bdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304570 Commit-Queue: Richard Stotz <rstz@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68994}
-
- 21 Jul, 2020 3 commits
-
-
Ng Zhi An authored
Prototype in TurboFan x64 and interpreter, bailout in Liftoff. Suggested in https://github.com/WebAssembly/simd/pull/237. Bug: v8:10713 Change-Id: I5346c351fb2ec5240b74013e62aef07c46d5d9b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300924Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68973}
-
Manos Koukoutos authored
They have been replaced with {array,struct}.new_with_rtt. Also, rework tests that used those instructions. Bug: v8:7748 Change-Id: I2aaccb1958bf2b8d6cad4969abc612216856393d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307318 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68961}
-
Manos Koukoutos authored
Also remove traces of array.new_sub Bug: v8:7748 Change-Id: I96a922a16406960a80af0788e9cad5aa5692000a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307237 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68956}
-
- 16 Jul, 2020 1 commit
-
-
Jakob Kummerow authored
We must perform "smi-checks" before loading an object's map whenever the object might be an i31ref. Bug: v8:7748 Change-Id: I2d9839ddcb0c2e8c35b9bea38afe50d55dd084cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299370Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68893}
-
- 15 Jul, 2020 1 commit
-
-
Jakob Kummerow authored
In addition to decoding them, we also have to evaluate the initializer instructions when instantiating a module. Drive-by fix: use "big-endian" encoding (prefix comes first) when emitting initializers in the module builder. Bug: v8:7748 Change-Id: Idfa0f5db298a8f6c6100fc09e1984e4a2e170e4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2298004 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68866}
-
- 10 Jul, 2020 2 commits
-
-
Igor Sheludko authored
... by migrating old-style code MyObject* obj = new (zone) MyObject(...) to the new style MyObject* obj = zone->New<MyObject>(...) Bug: v8:10689 Change-Id: I55c686bbedfa1fd1955a5927df3f72b366312fd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288867 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68808}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: I43384d10805b62745a4bc19fa0a4174e6ee94f0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289777 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68804}
-
- 09 Jul, 2020 1 commit
-
-
Jakob Kummerow authored
By introducing a globally known map for each generic type. These maps are never used to allocate objects, they only serve as sentinels for generic heap types. Bug: v8:7748 Change-Id: I950a8c712dc1510759a833fe9122b9e9a6222dc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288860 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68755}
-
- 07 Jul, 2020 1 commit
-
-
Jakob Kummerow authored
We used to expose raw WasmGC objects via the JS interface and made use of that in our cctests. Since those objects would cause crashes when used in JavaScript, this patch prevents such interactions, and migrates the tests to use the C-Wasm interface instead. Bug: v8:7748 Change-Id: I76a10663cda43c940c8c22c57c14922be9b05134 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284497 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68725}
-
- 02 Jul, 2020 1 commit
-
-
Deepti Gandluri authored
- Add wasm opcode, decode and compiler code for v128.const - Add codegen implementations for v128.const on x64/Arm64 - Reuse/Rename some shuffle specific methods to handle generic 128-bit immediates - Tests Bug: v8:8460 Change-Id: Idc365c8f6402c13259400eac92e0b75bd0f991a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2276176 Commit-Queue: Deepti Gandluri (OOO Till November) <gdeepti@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#68643}
-
- 01 Jul, 2020 4 commits
-
-
Jakob Kummerow authored
No changes, just rebasing. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/2277889 Bug: v8:7748 Change-Id: Iea3bc881eaab28b14d4e2af9892ee74848c59f04 Tbr: ahaas@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2278463Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68642}
-
Jakob Kummerow authored
This reverts commit 3f74ece9. Reason for revert: build breakage, rebasing issue Original change's description: > [wasm-gc] Implement ref.test and ref.cast > > Bug: v8:7748 > Change-Id: If0023edf2f27448c605bd8aa6402bf76c7983a6e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277889 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68640} TBR=jkummerow@chromium.org,ahaas@chromium.org Change-Id: Idd4eee1711aed3c0a9f89a36793738c72a34c783 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7748 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2278462Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68641}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: If0023edf2f27448c605bd8aa6402bf76c7983a6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277889Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68640}
-
Manos Koukoutos authored
Motivation: We used to approximate s33/i33 value parsing by first checking for specific negative codes, and then parsing an u32 value if that failed. This is not correct in all cases. Changes: - Implement i33 parsing in Decoder. - Factor out parsing of heap types into read_heap_type. - Introduce HeapType::kBottom. - Introduce helper functions in WasmFeatures and value_type_reader. - Remove macros from the parsing of value types. - HeapType::code now returns an i32 for compatibility with the i33 requirement. - Introduce HeapType::Repr. - Renamings: HeapType::type() -> representation(), ValueType::heap() -> heap_representation() Bug: v8:7748 Change-Id: I04deabce8837a48af2226411cd706a397f9e5725 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2274118 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68633}
-
- 30 Jun, 2020 3 commits
-
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: I6bbb73ceb397b102783ecfcc553264d83e926df2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273126 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68620}
-
Ng Zhi An authored
Prototype f64x2.nearest on ARM for both ARM v7 and ARM v8. ARM v8 has support for vrintn, and for ARM v7 we fallback to runtime. Since ARM v8 uses vrintn, which is the same instruction used for F64RoundTiesEven (scalar), wasm-compiler reuses the Float64RoundTiesEven check. Bug: v8:10553 Change-Id: Ia4c4245cac87c132331f54e81dad323fc3fb9f6d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2268358Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68619}
-
Jakob Kummerow authored
This patch does not include support for RTTs for i31ref yet. Bug: v8:7748 Change-Id: Ifbeb8e305c2d0a57e4d5d6be761d046e330e0da1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273135 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68613}
-
- 29 Jun, 2020 4 commits
-
-
Ng Zhi An authored
Prototype f64x2.trunc on ARM for both ARM v7 and ARM v8. ARM v8 has support for vrintz, and for ARM v7 we fallback to runtime. Since ARM v8 uses vrintz, which is the same instruction used for F64 trunc (scalar), wasm-compiler reuses the Float64RoundTruncate check. Bug: v8:10553 Change-Id: I074d5b4172809915d4b37c59bd3b0dcbf9a45e1d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2268357 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#68592}
-
Ng Zhi An authored
Prototype f64x2.floor on ARM for both ARM v7 and ARM v8. ARM v8 has support for vrintm, and for ARM v7 we fallback to runtime. Since ARM v8 uses vrintm, which is the same instruction used for Float64RoundDown (scalar), wasm-compiler reuses the Float64RoundDown check. Bug: v8:10553 Change-Id: I6f3d5c378a811ed94859535667aed1fa2d1ee552 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2265234Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68589}
-
Jakob Kummerow authored
Relanding without changes, revert reason was fixed by: https://chromium-review.googlesource.com/c/v8/v8/+/2272564 Originally reviewed at: https://chromium-review.googlesource.com/c/v8/v8/+/2260566 Original description: RTTs are internally represented as Maps. To store supertype information, this patch introduces a WasmTypeInfo object, which is installed on Wasm objects' Maps and points at both the off-heap type information and the parent RTT. In this patch, rtt.sub always creates a fresh RTT. The canonicalization that the proposal requires will be implemented later. Bug: v8:7748 Change-Id: I7fd4986efa3153ac68037ec418ea617f3f7636e8 Tbr: ulan@chromium.org Tbr: tebbi@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273123Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68581}
-
Manos Koukoutos authored
Drive-by: Fix ref.is_null calling is_reference_type to typecheck its argument (which would also allow rtts). Bug: v8:7748 Change-Id: I2ad01d0f70ac15d37ac4cc344bd0280a7ca08073 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2264094 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68572}
-
- 26 Jun, 2020 2 commits
-
-
Shu-yu Guo authored
This reverts commit 04ce88ea. Reason for revert: TSAN failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/32135 Original change's description: > [wasm-gc] Implement rtt.sub > > RTTs are internally represented as Maps. To store supertype information, > this patch introduces a WasmTypeInfo object, which is installed on Wasm > objects' Maps and points at both the off-heap type information and the > parent RTT. > In this patch, rtt.sub always creates a fresh RTT. The canonicalization > that the proposal requires will be implemented later. > > Bug: v8:7748 > Change-Id: I8286dd11f520966155cd95c2bd844ec34fccd131 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260566 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68564} TBR=ulan@chromium.org,jkummerow@chromium.org,tebbi@chromium.org Change-Id: I311732e1ced4de7a58b87d4a9b6056e0d62aa986 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7748 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270734Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#68567}
-
Jakob Kummerow authored
RTTs are internally represented as Maps. To store supertype information, this patch introduces a WasmTypeInfo object, which is installed on Wasm objects' Maps and points at both the off-heap type information and the parent RTT. In this patch, rtt.sub always creates a fresh RTT. The canonicalization that the proposal requires will be implemented later. Bug: v8:7748 Change-Id: I8286dd11f520966155cd95c2bd844ec34fccd131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260566 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68564}
-
- 25 Jun, 2020 1 commit
-
-
Ng Zhi An authored
Prototype f64x2.ceil on ARM for both ARM v7 and ARM v8. ARM v8 has support for vrintp, and for ARM v7 we fallback to runtime. Since ARM v8 uses vrintp, which is the same instruction used for Float64RoundUp (scalar), wasm-compiler reuses the Float64RoundUp check. Bug: v8:10553 Change-Id: I5841c6a06f260debe8ae90d331bdcc2a0fa3278c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2258813Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68553}
-
- 24 Jun, 2020 5 commits
-
-
Ng Zhi An authored
Prototype f32x4.nearest on ARM for both ARM v7 and ARM v8. ARM v8 has support for vrintn, and for ARM v7 we fallback to runtime. Since ARM v8 uses vrintn, which is the same instruction used for F32RoundTiesEven (scalar), wasm-compiler reuses the Float32RoundTiesEven check. Bug: v8:10553 Change-Id: I066b8c5f10fd86294afe1c530c516493deeb7b53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2258037Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68526}
-
Manos Koukoutos authored
Bug: v8:7748 Change-Id: Ic55c1aeb2bceb72dff1338c4d9cbde9aa799f25a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2262914 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68525}
-
Manos Koukoutos authored
Some operations require an immediate argument that represents a heap type. This CL introduces a class to represent it and uses it where appropriate. Also, the redundant TypeIndexImmediate is removed. Bug: v8:7748 Change-Id: Ib4b1d50764a79f5dd3240688f8165c39745eaad8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260874 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68522}
-
Clemens Backes authored
This allows the compiler to eliminate more unneeded branches. Since all functions just do a lookup in a static table (either directly, or via compiling a switch to such a lookup), they are also good candidates for inlining, which is made possible by this change. One DCHECK is removed instead of pulling in the inl header, which would require more refactoring since the check is in a non-inl header. R=thibaudm@chromium.org TBR=jkummerow@chromium.org Bug: v8:10576 Change-Id: If0fd25fd62c5f30b896fc67a5458a5ae475a6351 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2259944 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68508}
-
Deepti Gandluri authored
The IsInBounds function is used in a few different places, when used for bounds checks on 32-bit platforms, size_t for max_memory_size leads to incorrect out of bounds accesses as size_t is not guaranteed to be 64-bit on all platforms. Use specific uint32_t, uint64_t methods for Wasm bounds checking instead of size_t. Bug: chromium:1080902 Change-Id: I0e21f0a310382c8ed0703c8302200d3352495c13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2256858 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68500}
-