- 23 Sep, 2016 2 commits
-
-
machenbach authored
Revert of [wasm] Master CL for Binary 0xC changes. (patchset #26 id:490001 of https://codereview.chromium.org/2345593003/ ) Reason for revert: Main suspect for tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Also changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10036 +mips builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/4032 Original issue's description: > [wasm] Master CL for Binary 0xC changes. > > [0xC] Convert to stack machine semantics. > [0xC] Use section codes instead of names. > [0xC] Add elements section decoding. > [0xC] Decoding of globals section. > [0xC] Decoding of memory section. > [0xC] Decoding of imports section. > [0xC] Decoding of exports section. > [0xC] Decoding of data section. > [0xC] Remove CallImport bytecode. > [0xC] Function bodies have an implicit block. > [0xC] Remove the bottom label from loops. > [0xC] Add signatures to blocks. > [0xC] Remove arities from branches. > Add tests for init expression decoding. > Rework compilation of import wrappers and how they are patched. > Rework function indices in debugging. > Fix ASM->WASM builder for stack machine. > Reorganize asm.js foreign functions due to import indices change. > > R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org > BUG=chromium:575167 > LOG=Y > > Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 > Cr-Commit-Position: refs/heads/master@{#39678} TBR=ahaas@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,rossberg@chromium.org,bradnelson@google.com,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2361053004 Cr-Commit-Position: refs/heads/master@{#39685}
-
titzer authored
[0xC] Convert to stack machine semantics. [0xC] Use section codes instead of names. [0xC] Add elements section decoding. [0xC] Decoding of globals section. [0xC] Decoding of memory section. [0xC] Decoding of imports section. [0xC] Decoding of exports section. [0xC] Decoding of data section. [0xC] Remove CallImport bytecode. [0xC] Function bodies have an implicit block. [0xC] Remove the bottom label from loops. [0xC] Add signatures to blocks. [0xC] Remove arities from branches. Add tests for init expression decoding. Rework compilation of import wrappers and how they are patched. Rework function indices in debugging. Fix ASM->WASM builder for stack machine. Reorganize asm.js foreign functions due to import indices change. R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/2345593003 Cr-Commit-Position: refs/heads/master@{#39678}
-
- 22 Sep, 2016 1 commit
-
-
ahaas authored
BUG=chromium:646753 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2365633002 Cr-Commit-Position: refs/heads/master@{#39638}
-
- 20 Sep, 2016 1 commit
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
- 15 Sep, 2016 1 commit
-
-
ahaas authored
R=titzer@chromium.org BUG=chromium:647027 Review-Url: https://codereview.chromium.org/2344853002 Cr-Commit-Position: refs/heads/master@{#39440}
-
- 14 Sep, 2016 1 commit
-
-
ahaas authored
R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2341653002 Cr-Commit-Position: refs/heads/master@{#39406}
-
- 02 Sep, 2016 1 commit
-
-
ahaas authored
According to the WebAssembly specification the alignment of load and store instructions has to be less or equal to natural alignment. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2285643002 Cr-Commit-Position: refs/heads/master@{#39131}
-
- 22 Aug, 2016 1 commit
-
-
ahaas authored
The new operators are implemented similar to the Float64(Max|Min) which already exist. The purpose of the new operators is the implementation of the F32Max and F32Min instructions in WebAssembly. R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com Review-Url: https://codereview.chromium.org/2252863003 Cr-Commit-Position: refs/heads/master@{#38784}
-
- 08 Aug, 2016 1 commit
-
-
ahaas authored
I had to adjust Float64Max/Min on x64 slightly to return the default wasm NaN (0x7FF0000000000000) instead of the all-ones NaN (0xFFFFFFFFFFFFFFFF). R=titzer@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2204963002 Cr-Commit-Position: refs/heads/master@{#38410}
-
- 02 Aug, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/2209433002 Cr-Commit-Position: refs/heads/master@{#38262}
-
- 28 Jul, 2016 1 commit
-
-
ddchen authored
This patch updates internal data structures used by V8 to support multiple indirect function tables (WebAssembly/design#682). But, since this feature is post-MVP, the functionality is not directly exposed and parsing/generation of WebAssembly is left unchanged. Nevertheless, it is being used in an experiment to implement fine-grained control flow integrity based on C/C++ types. BUG= Review-Url: https://codereview.chromium.org/2174123002 Cr-Commit-Position: refs/heads/master@{#38110}
-
- 21 Jul, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/2165633006 Cr-Commit-Position: refs/heads/master@{#37945}
-
- 11 Jul, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2135693002 Cr-Commit-Position: refs/heads/master@{#37642}
-
- 30 Jun, 2016 1 commit
-
-
ahaas authored
In the current implementation of wasm an unrepresentable input of the float32-to-int32 conversion is detected by first truncating the input, then converting the truncated input to int32 and back to float32, and then checking whether the result is the same as the truncated input. This input check does not work on arm and arm64 for an input of (INT32_MAX + 1) because on these platforms the float32-to-int32 conversion results in INT32_MAX if the input is greater than INT32_MAX. When INT32_MAX is converted back to float32, then the result is (INT32_MAX + 1) again because INT32_MAX cannot be represented precisely as float32, and rounding-to-nearest results in (INT32_MAX + 1). Since (INT32_MAX + 1) equals the truncated input value, the input appears to be representable. With the changes in this CL, the result of the float32-to-int32 conversion is incremented by 1 if the original result was INT32_MAX. Thereby the detection of unrepresenable inputs in wasm works. Note that since INT32_MAX cannot be represented precisely in float32, it can also never be a valid result of the float32-to-int32 conversion. @v8-mips-ports, can you do a similar implementation for mips? R=titzer@chromium.org, Rodolph.Perfetta@arm.com Review-Url: https://codereview.chromium.org/2105313002 Cr-Commit-Position: refs/heads/master@{#37448}
-
- 29 Jun, 2016 1 commit
-
-
ivica.bogosavljevic authored
Reland of https://codereview.chromium.org/2034093002 (reverted by https://codereview.chromium.org/2080153002). Original commit message: Implement WASM support on big-endian platforms. WASM has an implicit requirement that it is running on little-endian machine. We achieve WASM support on BE by keeping data in memory in little-endian order, and changing data endianness before storing to memory and after loading from memory. BUG= Review-Url: https://codereview.chromium.org/2083523002 Cr-Commit-Position: refs/heads/master@{#37373}
-
- 23 Jun, 2016 1 commit
-
-
ritesht authored
Cleaning up the code to replace all instances of "i++" in for loops with the more efficient "++i". The latter foregoes an extra intermediate variable. BUG=v8:5044 Review-Url: https://codereview.chromium.org/2094573002 Cr-Commit-Position: refs/heads/master@{#37230}
-
- 20 Jun, 2016 2 commits
-
-
balazs.kilvady authored
MIPS: Followup '[turbofan] Introduce new operators Float32SubPreserveNan and Float64SubPreserveNan'. Port 481502da Float32SubMinusZero and Float64SubMinusZero tests are failing because MIPS does not preserve NaN payload according to Wasm spec. Implemented macro-assembler methods that check for NaN operands, and return the qNaN value with preserved payload and sign bits. TEST=cctest/test-run-wasm/Run_WasmFloat32SubMinusZero, cctest/test-run-wasm/Run_WasmFloat64SubMinusZero BUG= patch from issue 2019693002 at patchset 140001 (http://crrev.com/2019693002#ps140001) R=ahaas@chromium.org Review-Url: https://codereview.chromium.org/2066483008 Cr-Commit-Position: refs/heads/master@{#37105}
-
machenbach authored
Revert of Implement WASM big-endian support (patchset #5 id:80001 of https://codereview.chromium.org/2034093002/ ) Reason for revert: [Sheriff] Speculative revert for crashes on chrubuntu chromebooks: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm/builds/320 Original issue's description: > Implement WASM big-endian support. > > Implement WASM support on big-endian platforms. WASM has > an implicit requirement that it is running on little-endian > machine. We achieve WASM support on BE by keeping data > in memory in little-endian order, and changing data > endianness before storing to memory and after loading from > memory. > > BUG= > > Committed: https://crrev.com/d3f3f6c8186b2a53f0c539f7bba0c3708c4d83f9 > Cr-Commit-Position: refs/heads/master@{#37065} TBR=titzer@chromium.org,akos.palfi@imgtec.com,balazs.kilvady@imgtec.com,jyan@ca.ibm.com,ivica.bogosavljevic@imgtec.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review-Url: https://codereview.chromium.org/2080153002 Cr-Commit-Position: refs/heads/master@{#37091}
-
- 17 Jun, 2016 1 commit
-
-
ivica.bogosavljevic authored
Implement WASM support on big-endian platforms. WASM has an implicit requirement that it is running on little-endian machine. We achieve WASM support on BE by keeping data in memory in little-endian order, and changing data endianness before storing to memory and after loading from memory. BUG= Review-Url: https://codereview.chromium.org/2034093002 Cr-Commit-Position: refs/heads/master@{#37065}
-
- 09 Jun, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2055803002 Cr-Commit-Position: refs/heads/master@{#36866}
-
- 30 May, 2016 2 commits
-
-
ivica.bogosavljevic authored
Fix failure in RunWasmInterpreted_LoadMemI32_const_oob_misaligned on architecures that don't support unaligned access BUG=cctest/test-run-wasm/RunWasmInterpreted_LoadMemI32_const_oob_misaligned Review-Url: https://codereview.chromium.org/2026553002 Cr-Commit-Position: refs/heads/master@{#36590}
-
titzer authored
R=binji@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2014373003 Cr-Commit-Position: refs/heads/master@{#36577}
-
- 25 May, 2016 1 commit
-
-
titzer authored
This interpreter directly decodes and executes WASM binary code for the purpose of supporting low-level debugging. It is not currently integrated into the main WASM implementation. R=ahaas@chromium.org,clemensh@chromium.org,rossberg@chromium.org,binji@chromium.org BUG= Review-Url: https://codereview.chromium.org/1972153002 Cr-Commit-Position: refs/heads/master@{#36497}
-