- 06 Oct, 2016 5 commits
-
-
titzer authored
Imports and exports in 0xC can be much more than functions, including tables, memories, and globals. This CL refactors the underlying organization of imports and exports to support these new import types. BUG= Committed: https://crrev.com/599f8a83420346d9cba5ff97bd2a7520468207b6 Review-Url: https://codereview.chromium.org/2390113003 Cr-Original-Commit-Position: refs/heads/master@{#40033} Cr-Commit-Position: refs/heads/master@{#40050}
-
hablich authored
Revert of [wasm] Refactor import handling for 0xC. (patchset #10 id:180001 of https://codereview.chromium.org/2390113003/ ) Reason for revert: Failes a few GC stress tests.https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/6253 Original issue's description: > [wasm] Refactor import handling for 0xC. > > Imports and exports in 0xC can be much more than functions, including > tables, memories, and globals. This CL refactors the underlying > organization of imports and exports to support these new import types. > > BUG= > > Committed: https://crrev.com/599f8a83420346d9cba5ff97bd2a7520468207b6 > Cr-Commit-Position: refs/heads/master@{#40033} TBR=mtrofin@chromium.org,ahaas@chromium.org,bradnelson@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2395133002 Cr-Commit-Position: refs/heads/master@{#40038}
-
titzer authored
Imports and exports in 0xC can be much more than functions, including tables, memories, and globals. This CL refactors the underlying organization of imports and exports to support these new import types. BUG= Review-Url: https://codereview.chromium.org/2390113003 Cr-Commit-Position: refs/heads/master@{#40033}
-
ahaas authored
BUG=chromium:653264 TEST=cctest/test-run-wasm-module/GrowMemoryZero R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2389263005 Cr-Commit-Position: refs/heads/master@{#40030}
-
mstarzinger authored
R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2388303008 Cr-Commit-Position: refs/heads/master@{#40028}
-
- 05 Oct, 2016 2 commits
-
-
ahaas authored
The implementation of MemorySize with RelocatableInt32Constants is problematic if MemorySize is placed close to a GrowMemory instruction in the code. The use of a runtime function guarantees that the order in which MemorySize and GrowMemory is executed is correct. R=titzer@chromium.org BUG=chromium:651961 TEST=mjsunit/regress/wasm/regression-651961 Committed: https://crrev.com/2c12a9a42d454a36fcd2931fa458d72832eeb689 Review-Url: https://codereview.chromium.org/2386183004 Cr-Original-Commit-Position: refs/heads/master@{#39972} Cr-Commit-Position: refs/heads/master@{#39980}
-
gdeepti authored
Refactor to move module specific functionality to wasm-module.cc, this provides a better interface for the grow() method on WebAssembly.memory objects. R=mtrofin@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2396473003 Cr-Commit-Position: refs/heads/master@{#39967}
-
- 04 Oct, 2016 2 commits
-
-
mtrofin authored
Debug-time tracing for module instances, to aid diagnosing potential bugs. BUG= Review-Url: https://codereview.chromium.org/2390393002 Cr-Commit-Position: refs/heads/master@{#39965}
-
mtrofin authored
This fixes a gc stress bug. We cannot rely on an ordering of clearing of the weak cells, so we explicitly reset the weak link to the owning instance, when finalizing a compiled module. In turn, this serves as a reliable signal when GCs happen while instantiating, allowing us to correctly link the new instance. BUG=chromium:652425 Review-Url: https://codereview.chromium.org/2393443003 Cr-Commit-Position: refs/heads/master@{#39964}
-
- 03 Oct, 2016 2 commits
-
-
bradnelson authored
Recent changes to the wasm format prevent you from knowing the function index of a direct call until you know how many imports you have (the index spaces have been merged). Asm.js validation can't know this until all callsites have been visited if you want to avoid materializing the entire AST / parsing twice. Instead, keep a list of fixups to perform for all direct callsites, then update these with the imports count added when emitting the module. BUG=v8:4203 R=aseemgarg@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2384623003 Cr-Commit-Position: refs/heads/master@{#39937}
-
mtrofin authored
- Coalesced all anonymous namespaces into one, and moved it to the top of the file, to match elsewhere in the v8 codebase. - Deleted dead code. - Moved functions that turned out to be local to wasm-module.cc to the anonymous namespace. BUG= Review-Url: https://codereview.chromium.org/2384183002 Cr-Commit-Position: refs/heads/master@{#39936}
-
- 01 Oct, 2016 2 commits
-
-
mtrofin authored
Calculate memory size from the available heap. This avoids the bugs due to some numbers being stored as objects (by-ref) and thus needing special handling when cloning. This leaves all the rest of the numbers as read-only. Further simplified by representing globals size as a Smi. BUG= Committed: https://crrev.com/7ced1bdc9df2315ccc07dd17c12736aebf40cb57 Review-Url: https://codereview.chromium.org/2381393002 Cr-Original-Commit-Position: refs/heads/master@{#39923} Cr-Commit-Position: refs/heads/master@{#39925}
-
mtrofin authored
Revert of [wasm] further simplification of WasmCompiledModule (patchset #1 id:1 of https://codereview.chromium.org/2381393002/ ) Reason for revert: Failures on multiple bots (e.g. https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/8887) Original issue's description: > [wasm] further simplification of WasmCompiledModule > > Calculate memory size from the available heap. This avoids > the bugs due to some numbers being stored as objects (by-ref) > and thus needing special handling when cloning. > > This leaves all the rest of the numbers as read-only. > > Further simplified by representing globals size as a Smi. > > BUG= > > Committed: https://crrev.com/7ced1bdc9df2315ccc07dd17c12736aebf40cb57 > Cr-Commit-Position: refs/heads/master@{#39923} TBR=bradnelson@google.com,bradnelson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2385943002 Cr-Commit-Position: refs/heads/master@{#39924}
-
- 30 Sep, 2016 4 commits
-
-
mtrofin authored
Calculate memory size from the available heap. This avoids the bugs due to some numbers being stored as objects (by-ref) and thus needing special handling when cloning. This leaves all the rest of the numbers as read-only. Further simplified by representing globals size as a Smi. BUG= Review-Url: https://codereview.chromium.org/2381393002 Cr-Commit-Position: refs/heads/master@{#39923}
-
mstarzinger authored
This is to avoid a dereference of the unhandlified {this} reference after handlified allocation functions have been called. Combining handlified and unhandlified style is inherently unsafe. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2380463006 Cr-Commit-Position: refs/heads/master@{#39921}
-
jpp authored
This is essentially CL/2275293002, with the difference that the effect dependencies are now updated correctly. BUG= Review-Url: https://codereview.chromium.org/2378773013 Cr-Commit-Position: refs/heads/master@{#39919}
-
mtrofin authored
First stab at strongly typing the wasm compiled module FixedArray. The goal is to improve maintainability of the data structures living on the JS heap. My goal is to do so just for the first level, since we plan to eventually avoid copying the metadata bits that are currently copied from the decoded structures (export/import metadata, etc). Subsequent CLs will try and consolidate internal functions working off the compiled module as members, and evaluate what the actual interface with the rest of the world of this type should be - we may be able to completely move it in the cc file, for instance. BUG= Committed: https://crrev.com/6e03b72d9d7c0d69a4222981687757ffb0737236 Review-Url: https://codereview.chromium.org/2340623003 Cr-Original-Commit-Position: refs/heads/master@{#39890} Cr-Commit-Position: refs/heads/master@{#39894}
-
- 29 Sep, 2016 9 commits
-
-
mtrofin authored
Revert of [wasm] Strongly typed compiled module (patchset #7 id:120001 of https://codereview.chromium.org/2340623003/ ) Reason for revert: Forgot to correctly clone a heap number. Reverting to fix. Original issue's description: > [wasm] Strongly typed compiled module > > First stab at strongly typing the wasm compiled module FixedArray. The goal > is to improve maintainability of the data structures living on the JS heap. > > My goal is to do so just for the first level, since we plan to eventually > avoid copying the metadata bits that are currently copied from the decoded > structures (export/import metadata, etc). > > Subsequent CLs will try and consolidate internal functions working off the > compiled module as members, and evaluate what the actual interface with the > rest of the world of this type should be - we may be able to completely > move it in the cc file, for instance. > > BUG= > > Committed: https://crrev.com/6e03b72d9d7c0d69a4222981687757ffb0737236 > Cr-Commit-Position: refs/heads/master@{#39890} TBR=bradnelson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2383623003 Cr-Commit-Position: refs/heads/master@{#39893}
-
mtrofin authored
First stab at strongly typing the wasm compiled module FixedArray. The goal is to improve maintainability of the data structures living on the JS heap. My goal is to do so just for the first level, since we plan to eventually avoid copying the metadata bits that are currently copied from the decoded structures (export/import metadata, etc). Subsequent CLs will try and consolidate internal functions working off the compiled module as members, and evaluate what the actual interface with the rest of the world of this type should be - we may be able to completely move it in the cc file, for instance. BUG= Review-Url: https://codereview.chromium.org/2340623003 Cr-Commit-Position: refs/heads/master@{#39890}
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org,mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/2384483002 Cr-Commit-Position: refs/heads/master@{#39887}
-
titzer authored
R=bradnelson@chromium.org,mtrofin@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2384513002 Cr-Commit-Position: refs/heads/master@{#39885}
-
machenbach authored
Revert of [WASM] Implements catch for the wasm low level exception mechanism. (patchset #16 id:300001 of https://codereview.chromium.org/2275293002/ ) Reason for revert: nosse4 errors: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/13524 https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/11215 Original issue's description: > [WASM] Implements catch for the wasm low level exception mechanism. > > BUG= > > Committed: https://crrev.com/93e5425c46453764779bd557628d61fae670027a > Cr-Commit-Position: refs/heads/master@{#39881} TBR=titzer@chromium.org,bradnelson@chromium.org,jpp@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2383613002 Cr-Commit-Position: refs/heads/master@{#39884}
-
jpp authored
BUG= Review-Url: https://codereview.chromium.org/2275293002 Cr-Commit-Position: refs/heads/master@{#39881}
-
titzer authored
R=bradnelson@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/2383463002 Cr-Commit-Position: refs/heads/master@{#39861}
-
mtrofin authored
BUG=chromium:651070 Review-Url: https://codereview.chromium.org/2371403003 Cr-Commit-Position: refs/heads/master@{#39848}
-
mtrofin authored
The module size is encoded as a HeapNumber, and needs to be explicitly cloned. BUG=chromium:647649 Review-Url: https://codereview.chromium.org/2347333002 Cr-Commit-Position: refs/heads/master@{#39845}
-
- 27 Sep, 2016 1 commit
-
-
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 Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 Review-Url: https://codereview.chromium.org/2345593003 Cr-Original-Commit-Position: refs/heads/master@{#39678} Cr-Commit-Position: refs/heads/master@{#39795}
-
- 26 Sep, 2016 4 commits
-
-
jyan authored
Fix "error: ‘maximum’ may be used uninitialized in this function" R=ahaas@chromium.org, titzer@chromium.org, rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2371833002 Cr-Commit-Position: refs/heads/master@{#39741}
-
ahaas authored
The WebAssembly spec requires a HasProperty() check for the maximum property of the descriptor object which is used to set up a WebAssembly.Memory object or a WebAssembly.Table object. The original implementation only approximated the HasProperty() check. It used Get() to get the value of the maximum property of the descriptor object and compared the resulting value to {undefined}. However, this approximation is incorrect if the property exists but its value is {undefined}. R=titzer@chromium.org, franzih@chromium.org BUG=chromium:649461 TEST=mjsunit/wasm/memory Review-Url: https://codereview.chromium.org/2367673003 Cr-Commit-Position: refs/heads/master@{#39722}
-
ahaas authored
BUG=chromium:649283 R=titzer@chromium.org TEST=mjsunit/wasm/table Review-Url: https://codereview.chromium.org/2358923003 Cr-Commit-Position: refs/heads/master@{#39711}
-
jgruber authored
V8 is collecting a growing amount of fuzzers, all of which take substantial space on the bots and in chromium build archives. This CL improves that situation by allowing component (shared library) builds for almost all fuzzers. The parser fuzzer is handled as an exception since it would require exporting a large number of additional functions. A component build results in about a 50-100x improvement in file size for each fuzzer (~50M-100M to around 1.1M). BUG=chromium:648864 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe Review-Url: https://codereview.chromium.org/2360983002 Cr-Commit-Position: refs/heads/master@{#39709}
-
- 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 2 commits
-
-
ahaas authored
BUG=chromium:646753 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2365633002 Cr-Commit-Position: refs/heads/master@{#39638}
-
ahaas authored
R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2362663002 Cr-Commit-Position: refs/heads/master@{#39628}
-
- 21 Sep, 2016 2 commits
-
-
ahaas authored
TEST=unittests/WasmModuleVerifyTest.Regression_648070 BUG=chromium:648070 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2356253002 Cr-Commit-Position: refs/heads/master@{#39602}
-
ahaas authored
Set up Wasm Table and Memory constructors This only provides skeletons so far: the constructors work, but the types are not wired up with the import/export mechanism yet; methods are still nops. Also, fix errors generated from Wasm to be proper Error/TypeError instances instead of just strings. I took over this CL from rossberg@chromium.org. The original CL is https://codereview.chromium.org/2342623002 R=titzer@chromium.org, rossberg@chromium.org Review-Url: https://codereview.chromium.org/2350643003 Cr-Commit-Position: refs/heads/master@{#39588}
-
- 20 Sep, 2016 3 commits
-
-
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}
-
ahaas authored
BUG=chromium:647329 R=titzer@chromium.org TEST=unittest EncoderTest.Regression_647329 Review-Url: https://codereview.chromium.org/2355803002 Cr-Commit-Position: refs/heads/master@{#39556}
-
jgruber authored
This commit ensures that the d8 shared library build uses the same logic as the standard static build by exporting relevant functions and classes. BUG=chromium:646337 Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65 Review-Url: https://codereview.chromium.org/2342563002 Cr-Original-Commit-Position: refs/heads/master@{#39503} Cr-Commit-Position: refs/heads/master@{#39547}
-