- 01 Sep, 2016 1 commit
-
-
mtrofin authored
This unblocks avoiding the separate code template. In the upcoming CL doing away with code templates, We need to track instances through the module object, which needs to be separate from the compiled module data, which is then shared with the first instance. This CL ensures we have the object available in the asm.js scenario, too. Note that this CL also unifies the error messaging when module decoding fails. BUG=v8:5316 Review-Url: https://codereview.chromium.org/2299873002 Cr-Commit-Position: refs/heads/master@{#39097}
-
- 31 Aug, 2016 1 commit
-
-
marja authored
This way, many files which only need CompilationInfo but not compiler.h and its dependencies can include just compilation-info.h. BUG= Review-Url: https://codereview.chromium.org/2284313003 Cr-Commit-Position: refs/heads/master@{#39038}
-
- 23 Aug, 2016 1 commit
-
-
bradnelson authored
Make use of %IsAsmWasmCode in place of Wasm.instantiateModuleFromAsm, in order to reduce the surface area of the Wasm object, and to focus on testing asm.js coming in via the parser. Ignore extra CONST_LEGACY assignment introduced by the parser when modules have the form: (function Foo(a, b, c) {..}); This requires both a validator and AsmWasmBuilder change. Move stdlib use collection to import time, to reject modules that import a function, even if not used. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=jpp@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2264913002 Cr-Commit-Position: refs/heads/master@{#38806}
-
- 22 Aug, 2016 1 commit
-
-
marja authored
This makes us able to get rid of dependencies to parser.h from places which only need the ParseInfo, and also gets rid of the curious Parser <-> Compiler circular dependency. Also IWYUd where necessary. BUG= Review-Url: https://codereview.chromium.org/2268513002 Cr-Commit-Position: refs/heads/master@{#38777}
-
- 19 Aug, 2016 1 commit
-
-
bradnelson authored
Record which asm.js stdlib members are used and add a check that NaN is actually correctly set. Other stdlib members to be added in a later change. Also add a stdlib argument to Wasm.instantiateModuleFromAsm, in preparation for that function to be replaced by normal asm.js instantiation. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=jpp@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2251433002 Cr-Commit-Position: refs/heads/master@{#38760}
-
- 09 Aug, 2016 1 commit
-
-
mtrofin authored
Implementation of serialization/deserialization for compiled wasm module. BUG=v8:5072 Review-Url: https://codereview.chromium.org/2205973003 Cr-Commit-Position: refs/heads/master@{#38498}
-
- 04 Aug, 2016 1 commit
-
-
clarkchenwang authored
Review-Url: https://codereview.chromium.org/2204703002 Cr-Commit-Position: refs/heads/master@{#38349}
-
- 14 Jul, 2016 2 commits
-
-
mtrofin authored
Implemented the WebAssembly.Module and WebAssembly.Instance in terms of the WasmModule::CompileFunctions and WasmModule::Instantiate APIs. Added negative tests - for invalid module object. BUG= Review-Url: https://codereview.chromium.org/2121593002 Cr-Commit-Position: refs/heads/master@{#37775}
-
bradnelson authored
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST= cctest/asmjs/test-asm-typer LOG=N R=jpp@chromium.org Review-Url: https://codereview.chromium.org/2146853004 Cr-Commit-Position: refs/heads/master@{#37734}
-
- 13 Jul, 2016 1 commit
-
-
jpp authored
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=mjsunit/wasm/* LOG=N Review-Url: https://codereview.chromium.org/2134333003 Cr-Commit-Position: refs/heads/master@{#37729}
-
- 01 Jul, 2016 2 commits
-
-
titzer authored
R=mstarzinger@chromium.org,bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/2118733003 Cr-Commit-Position: refs/heads/master@{#37478}
-
bradnelson authored
Directs 'use asm' traffic through asm-wasm conversion when --validate-asm is passed. Adds a builtin that handles the fallback to JS. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=asm-wasm R=mstarzinger@chromium.org,titzer@chromium.org LOG=N Review-Url: https://codereview.chromium.org/2057403003 Cr-Commit-Position: refs/heads/master@{#37470}
-
- 28 Jun, 2016 4 commits
-
-
mtrofin authored
This reverts commit 1eb1dfab. The original compilation separation change avoided associating a heap for the wasm instance if memory was not provided, nor needed. The grow memory CL assumed the old behavior, where a memory buffer was always present, but may have had a zero size. The 2CLS landed shortly after one another. We decided to treat the grow memory as the race condition winner, so this CL here re-lands compilation separation, plus adjusts grow memory to deal with the undefined mem buffer. BUG= Review-Url: https://codereview.chromium.org/2102193003 Cr-Commit-Position: refs/heads/master@{#37352}
-
mtrofin authored
This reverts commit 0c7ee927. BUG= Review-Url: https://codereview.chromium.org/2103983003 Cr-Commit-Position: refs/heads/master@{#37351}
-
bradnelson authored
We were not checking that the string passed to instantiateFromAsm contains a function declaration (any declaration was allowed). Fixes crash. BUG=620649 BUG=v8:4203 R=aseemgarg@chromium.org Review-Url: https://codereview.chromium.org/2109533002 Cr-Commit-Position: refs/heads/master@{#37349}
-
mtrofin authored
Support for serializing/deserializing the compiled wasm module. We want to reuse the javascript snapshotting mechanics, at least in the short term, when we still use the JS heap for the compiled wasm code. Given that a module may be compiled in one v8 instance and then instantiated later, in a different instance, whatever information we need at instantiation time must also be serializable. We currently hold on to the un-decoded wasm bytes, for enabling debugging scenarios. This imposes a ~20% penalty on the memory requirements of the wasm compiled code. We do not need this data otherwise, for runtime, and it is sensible to consider eventually loading it on demand. Therefore, I intentionally avoided relying on it and re- decoding the wasm module data, and instead saved the information necessary to support instantiation. Given how whatever we need to persist must be serializable, the CL uses a structure made out of serializable objects (fixed arrays mostly) for storing this information. I preferred going this route rather than adding more wasm-specific support to the serializer, given that we want to eventually move off the JS heap, and therefore the serializer. Additionally, it turns out this extra information is relatively not complex: minimal structure, little nesting depth, mostly simple data like numbers or byte blobs, or opaque data like compiled functions. This CL also moves export compilation ahead of instantiation time. This change added a helper getter to FixedArray, to make typed retrieval of elements easier. BUG= Review-Url: https://codereview.chromium.org/2094563002 Cr-Commit-Position: refs/heads/master@{#37348}
-
- 21 Jun, 2016 1 commit
-
-
rossberg authored
Implements: - WebAssembly object, - WebAssembly.Module constructor, - WebAssembly.Instance constructor, - WebAssembly.compile async method, - and Module and Instance instance objects. Also, changes ErrorThrower to support capturing errors in a promise reject. Since we cannot yet compile without fixing the Wasm memory, and cannot validate a module without compiling, the Module constructor and compile method don't do anything yet but checking that their argument is a suitable BufferSource. Instead of a compiled module, the hidden state of a Module object currently is just that buffer. BUG= Review-Url: https://codereview.chromium.org/2084573002 Cr-Commit-Position: refs/heads/master@{#37143}
-
- 06 Jun, 2016 1 commit
-
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 25 May, 2016 1 commit
-
-
titzer authored
This removes the last use of the old_functions section, which greatly simplifies encoding. R=bradnelson@chromium.org,aseemgarg@chromium.org,mtrofin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2014533003 Cr-Commit-Position: refs/heads/master@{#36523}
-
- 20 May, 2016 1 commit
-
-
bradnelson authored
Rather than bake foreign globals into the module at compile time, add a __foreign_init__ function that can be called after instantiation with foreign values gathers using keys in a separately generated FixedArray. This is an incremental step towards being able to enable asm->wasm on for general traffic, behind a flag. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=asm-wasm R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review-Url: https://codereview.chromium.org/1999523002 Cr-Commit-Position: refs/heads/master@{#36418}
-
- 11 May, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/1970543003 Cr-Commit-Position: refs/heads/master@{#36174}
-
- 04 May, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG=chromium:608630 LOG=Y Review-Url: https://codereview.chromium.org/1943313002 Cr-Commit-Position: refs/heads/master@{#36008}
-
- 03 May, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG=chromium:605488 LOG=Y Review-Url: https://codereview.chromium.org/1940243002 Cr-Commit-Position: refs/heads/master@{#35974}
-
- 29 Apr, 2016 1 commit
-
-
titzer authored
[wasm] Binary 11: br_table takes a value. [wasm] Binary 11: Add implicit blocks to if arms. [wasm] Binary 11: Add arities to call, return, and breaks [wasm] Binary 11: Add experimental version. This CL changes the encoder, decoder, and tests to use a postorder encoding of the AST, which is more efficient in decode time and space. R=bradnelson@chromium.org,rossberg@chromium.org,binji@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/1830663002 Cr-Commit-Position: refs/heads/master@{#35896}
-
- 01 Apr, 2016 1 commit
-
-
jochen authored
We expect that the majority of malloc'd memory held by V8 is allocated in Zone objects. Introduce an Allocator class that is used by Zones to manage memory, and allows for querying the current usage. BUG=none R=titzer@chromium.org,bmeurer@chromium.org,jarin@chromium.org LOG=n TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1847543002 Cr-Commit-Position: refs/heads/master@{#35196}
-
- 21 Mar, 2016 1 commit
-
-
jfb authored
Flags --dump_wasm_module and --dump_wasm_module_path=/path/to/folder allow us to run a bunch of tests and capture all of the wasm module files including the ones that come from the .js and .cc tests which are built on the fly, as well as the asm2wasm tests. The files are all uniquely named `HASH.{ok,failed}.wasm`. This will be especilly useful for fuzz testing, but could also be used for other tests including non-V8 tests. For now I manually hacked tools/testrunner/local/execution.py so that tools/run-tests.py can output the modules. We may want to ad a flag to run-tests.py proper if this turns out to be useful. R=bradnelson@chromium.org, titzer@chromium.org, kcc@chromium.org Review URL: https://codereview.chromium.org/1816583003 Cr-Commit-Position: refs/heads/master@{#34968}
-
- 09 Mar, 2016 1 commit
-
-
titzer authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1778863002 Cr-Commit-Position: refs/heads/master@{#34617}
-
- 08 Mar, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,binji@chromium.org BUG= Review URL: https://codereview.chromium.org/1770383002 Cr-Commit-Position: refs/heads/master@{#34587}
-
- 07 Mar, 2016 1 commit
-
-
titzer authored
R=dschuff@chromium.org BUG= Review URL: https://codereview.chromium.org/1767203002 Cr-Commit-Position: refs/heads/master@{#34565}
-
- 27 Feb, 2016 1 commit
-
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review URL: https://codereview.chromium.org/1742073002 Cr-Commit-Position: refs/heads/master@{#34345}
-
- 23 Feb, 2016 1 commit
-
-
bradnelson authored
Lost in the repo shuffle: https://github.com/WebAssembly/v8-native-prototype/pull/102 BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1702293002 Cr-Commit-Position: refs/heads/master@{#34218}
-
- 16 Feb, 2016 1 commit
-
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=manual R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1697723002 Cr-Commit-Position: refs/heads/master@{#34009}
-
- 12 Feb, 2016 1 commit
-
-
bradnelson authored
Since wasm has no direct notion of foreign globals, pass the ffi object on to the AsmWasmBuilder so that foreign globals can be extracted at module instantiation time. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1677373002 Cr-Commit-Position: refs/heads/master@{#33956}
-
- 03 Feb, 2016 1 commit
-
-
bradnelson authored
Now that we have full fledged module instantiation, keeping alive a second interface seems clunky. Droping it and switching the tests. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-asm-validator,asm-wasm,other wasm R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1660083002 Cr-Commit-Position: refs/heads/master@{#33700}
-
- 01 Feb, 2016 1 commit
-
-
bradnelson authored
Make it possible to switch on simd.js support when combined with asm.js in the asm->wasm path. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-asm-validator R=gdeepti@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1643333002 Cr-Commit-Position: refs/heads/master@{#33644}
-
- 20 Jan, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org LOG=Y BUG=chromium:575167 Review URL: https://codereview.chromium.org/1608743006 Cr-Commit-Position: refs/heads/master@{#33411}
-
- 14 Jan, 2016 2 commits
-
-
bradnelson authored
This merges the instantiation logic between instantiateModule and instantiateModuleFromAsm. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1581913005 Cr-Commit-Position: refs/heads/master@{#33316}
-
titzer authored
Fix: pass global object as receiver when calling WASM->JS. R=bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581393003 Cr-Commit-Position: refs/heads/master@{#33286}
-
- 13 Jan, 2016 2 commits
-
-
adamk authored
Revert of [wasm] Add tests for JS wrappers to test-run-wasm. (patchset #1 id:1 of https://codereview.chromium.org/1581643004/ ) Reason for revert: New test failed on nosnap builder (https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/4738): Test: cctest/test-run-wasm-js/Run_CallJS_Add_jswrapped Stderr: abort: Sloppy function expects JSReceiver as receiver. # # Fatal error in ../../src/objects-inl.h, line 3221 # Check failed: !v8::internal::FLAG_enable_slow_asserts || (object->IsJSFunction()). # Original issue's description: > [wasm] Add tests for JS wrappers to test-run-wasm. > > R=bradnelson@chromium.org, ahaas@chromium.org > BUG= > > Committed: https://crrev.com/c52f5ced4e600a57c02301f2936b80f086613985 > Cr-Commit-Position: refs/heads/master@{#33274} TBR=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/1587763002 Cr-Commit-Position: refs/heads/master@{#33275}
-
titzer authored
R=bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581643004 Cr-Commit-Position: refs/heads/master@{#33274}
-