- 02 Feb, 2017 2 commits
-
-
titzer authored
R=rossberg@chromium.org, bradnelson@chromium.org BUG=chromium:682659 Review-Url: https://codereview.chromium.org/2670673002 Cr-Commit-Position: refs/heads/master@{#42904}
-
ahaas authored
First discovery by the names section fuzzer I think. During the decoding of the names of locals only ok() of the outer decoder was checked, not the ok() of the actual names section decoder. R=tizer@chromium.org BUG=chromium:684855 Review-Url: https://codereview.chromium.org/2648383007 Cr-Commit-Position: refs/heads/master@{#42880}
-
- 24 Jan, 2017 1 commit
-
-
titzer authored
R=ahaas@chromium.org,rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2626263004 Cr-Commit-Position: refs/heads/master@{#42634}
-
- 20 Jan, 2017 2 commits
-
-
titzer authored
R=rossberg@chromium.org BUG=chromium:682659 Review-Url: https://codereview.chromium.org/2646093003 Cr-Commit-Position: refs/heads/master@{#42564}
-
titzer authored
R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2644323002 Cr-Commit-Position: refs/heads/master@{#42557}
-
- 18 Jan, 2017 1 commit
-
-
rossberg authored
Makes us pass the spec's memory.wast test. R=titzer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2640453003 Cr-Commit-Position: refs/heads/master@{#42452}
-
- 17 Jan, 2017 1 commit
-
-
rossberg authored
Fixes failure on spec test globals.wast. Review-Url: https://codereview.chromium.org/2638003002 Cr-Commit-Position: refs/heads/master@{#42406}
-
- 15 Jan, 2017 1 commit
-
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2630553002 Cr-Original-Original-Commit-Position: refs/heads/master@{#42286} Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 Review-Url: https://codereview.chromium.org/2630553002 Cr-Original-Commit-Position: refs/heads/master@{#42315} Committed: https://chromium.googlesource.com/v8/v8/+/74a2f9b7d3c3d9a9284ab8d5a9d08618b8194966 Review-Url: https://codereview.chromium.org/2630553002 Cr-Commit-Position: refs/heads/master@{#42350}
-
- 13 Jan, 2017 3 commits
-
-
titzer authored
Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #6 id:100001 of https://codereview.chromium.org/2630553002/ ) Reason for revert: Still breaks Win64 clang build. Original issue's description: > [wasm] Enforce that function bodies end with the \"end\" opcode. > > R=rossberg@chromium.org > BUG=chromium:575167 > > Review-Url: https://codereview.chromium.org/2630553002 > Cr-Original-Commit-Position: refs/heads/master@{#42286} > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 > Review-Url: https://codereview.chromium.org/2630553002 > Cr-Commit-Position: refs/heads/master@{#42315} > Committed: https://chromium.googlesource.com/v8/v8/+/74a2f9b7d3c3d9a9284ab8d5a9d08618b8194966 TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@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/2636463002 Cr-Commit-Position: refs/heads/master@{#42317}
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2630553002 Cr-Original-Commit-Position: refs/heads/master@{#42286} Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 Review-Url: https://codereview.chromium.org/2630553002 Cr-Commit-Position: refs/heads/master@{#42315}
-
clemensh authored
R=titzer@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2635463002 Cr-Commit-Position: refs/heads/master@{#42313}
-
- 12 Jan, 2017 4 commits
-
-
littledan authored
Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #1 id:1 of https://codereview.chromium.org/2628203003/ ) Reason for revert: OK, the failure really does seem to be due to this patch: It triggers Clang to crash FAILED: obj/test/unittests/unittests/function-body-decoder-unittest.obj E:\b\build\slave\cache\cipd\goma/gomacc.exe ../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/test/unittests/unittests/function-body-decoder-unittest.obj.rsp /c ../../test/unittests/wasm/function-body-decoder-unittest.cc /Foobj/test/unittests/unittests/function-body-decoder-unittest.obj /Fd"obj/test/unittests/unittests_cc.pdb" Assertion failed: (NumGaps == 0 || Bias < MaxDefRange) && "large ranges should not have gaps", file E:\b\build\slave\win_upload_clang\build\src\third_party\llvm\lib\MC\MCCodeView.cpp, line 531 Wrote crash dump file "C:\Users\CHROME~2\AppData\Local\Temp\goma_temp.5068\clang-cl.exe-563144.dmp" Let's leave it out for now. Original issue's description: > Reland of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #1 id:1 of https://codereview.chromium.org/2628883006/ ) > > Reason for revert: > Try a reland; this might not have been the source of tree-closing. > > Original issue's description: > > Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #3 id:40001 of https://codereview.chromium.org/2630553002/ ) > > > > Reason for revert: > > Caused tree to close by failing compilation: > > > > https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/4451 > > > > Original issue's description: > > > [wasm] Enforce that function bodies end with the \"end\" opcode. > > > > > > R=rossberg@chromium.org > > > BUG=chromium:575167 > > > > > > Review-Url: https://codereview.chromium.org/2630553002 > > > Cr-Commit-Position: refs/heads/master@{#42286} > > > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 > > > > TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,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/2628883006 > > Cr-Commit-Position: refs/heads/master@{#42287} > > Committed: https://chromium.googlesource.com/v8/v8/+/1d32a3989bc474745eeb618ebf094634f4efbb36 > > TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,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/2628203003 > Cr-Commit-Position: refs/heads/master@{#42296} > Committed: https://chromium.googlesource.com/v8/v8/+/e539bd8e0eb6afc8e7c98c38584928d6bc799b5b TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,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/2633583002 Cr-Commit-Position: refs/heads/master@{#42298}
-
littledan authored
Reland of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #1 id:1 of https://codereview.chromium.org/2628883006/ ) Reason for revert: Try a reland; this might not have been the source of tree-closing. Original issue's description: > Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #3 id:40001 of https://codereview.chromium.org/2630553002/ ) > > Reason for revert: > Caused tree to close by failing compilation: > > https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/4451 > > Original issue's description: > > [wasm] Enforce that function bodies end with the \"end\" opcode. > > > > R=rossberg@chromium.org > > BUG=chromium:575167 > > > > Review-Url: https://codereview.chromium.org/2630553002 > > Cr-Commit-Position: refs/heads/master@{#42286} > > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 > > TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,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/2628883006 > Cr-Commit-Position: refs/heads/master@{#42287} > Committed: https://chromium.googlesource.com/v8/v8/+/1d32a3989bc474745eeb618ebf094634f4efbb36 TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,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/2628203003 Cr-Commit-Position: refs/heads/master@{#42296}
-
littledan authored
Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #3 id:40001 of https://codereview.chromium.org/2630553002/ ) Reason for revert: Caused tree to close by failing compilation: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/4451 Original issue's description: > [wasm] Enforce that function bodies end with the \"end\" opcode. > > R=rossberg@chromium.org > BUG=chromium:575167 > > Review-Url: https://codereview.chromium.org/2630553002 > Cr-Commit-Position: refs/heads/master@{#42286} > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,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/2628883006 Cr-Commit-Position: refs/heads/master@{#42287}
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2630553002 Cr-Commit-Position: refs/heads/master@{#42286}
-
- 09 Jan, 2017 2 commits
-
-
bjaideep authored
GCC4.8.5 on s390 emits warning "array subscript is above array bounds" for line "code[pos + 1] = kLocalVoid;". The warning seems to be correct because code[sizeof(code)] should be out of bounds. I'm suggesting to run the loop till "sizeof(code) - 1" which GCC(4.8.5) agrees with. Although this means the last byte is missed, but it should be safe to do since the last few bytes are "0xb" (kExprEnd) and the offending statement is only run when byte=kExprBlock. R=titzer@chromium.org, mstarzinger@chromium.org, bradnelson@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2619063002 Cr-Commit-Position: refs/heads/master@{#42145}
-
titzer authored
R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2595733003 Cr-Commit-Position: refs/heads/master@{#42141}
-
- 06 Jan, 2017 1 commit
-
-
mtrofin authored
Separated: - decoding of locals - loop assignment analysis - determination of opcode length as statics that work on a Decoder. Neither need the context of a Module, and were used in scenarios where one wasn't available either. Changed BodyLocalDecls to match the usecases for the type. In all but one (a printer), we want the list (in order of declaration, with repetitions) of types of locals. Removed a now-unnecessary constructor for the WasmFullDecoder. BUG= Review-Url: https://codereview.chromium.org/2610813009 Cr-Commit-Position: refs/heads/master@{#42115}
-
- 04 Jan, 2017 1 commit
-
-
mtrofin authored
This CL simplifies the relation between the wasm graph builder, the wasm decoder, and the wasm module they work on. BUG= Review-Url: https://codereview.chromium.org/2612643002 Cr-Commit-Position: refs/heads/master@{#42056}
-
- 21 Dec, 2016 2 commits
-
-
titzer authored
This is more renaming work to comply with the naming in the public design repository. E.g. types are called "value types" and we no longer refer to ASTs. R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2594993002 Cr-Commit-Position: refs/heads/master@{#41891}
-
titzer authored
Since WASM is no longer an AST :-( R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2594973003 Cr-Commit-Position: refs/heads/master@{#41889}
-
- 20 Dec, 2016 1 commit
-
-
clemensh authored
We have the BytecodeIterator with next() and has_next() methods, and pc_offset() and current() accessors. This CL adds an interface to iterate over the opcodes or offsets in a C++ foreach loop. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2587143002 Cr-Commit-Position: refs/heads/master@{#41851}
-
- 14 Dec, 2016 1 commit
-
-
titzer authored
This CL moves even more limits to wasm-limits.h and enforces limits for types, functions, parameter counts, return counts, local counts, imports, globals, and exports. R=clemensh@chromium.org, ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2574133002 Cr-Commit-Position: refs/heads/master@{#41699}
-
- 30 Nov, 2016 1 commit
-
-
clemensh authored
These byte pointers (module_start and module_end) were only valid during decoding. During instantiation or execution, they can get invalidated by garbage collection. This CL removes them from the WasmModule struct, and introduces a new ModuleStorage struct as interface to the wasm wire bytes. Since the storage is often needed together with the ModuleEnv, a new ModuleStorageEnv struct holds both a ModuleEnv and a ModuleStorage. The pointers in the ModuleStorage should never escape the live range of this struct, as they might point into a SeqOneByteString or ArrayBuffer. Therefore, the WasmInterpreter needs to create its own copy of the whole module. Runtime functions that previously used the raw pointers in WasmModule (leading to memory errors) now have to use the SeqOneByteString in the WasmCompiledModule. R=titzer@chromium.org BUG=chromium:669518 Review-Url: https://codereview.chromium.org/2540133002 Cr-Commit-Position: refs/heads/master@{#41388}
-
- 11 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2492793005 Cr-Commit-Position: refs/heads/master@{#40914}
-
- 10 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2487673004 Cr-Commit-Position: refs/heads/master@{#40891}
-
- 09 Nov, 2016 3 commits
-
-
ahaas authored
R=titzer@chromium.org TEST=unittests/WasmModuleVerifyTest.DataSegmentWithImmutableGlobal, unittests/WasmModuleVerifyTest.DataSegmentWithMutableImportedGlobal, unittests/WasmModuleVerifyTest.DataSegmentWithImmutableImportedGlobal Review-Url: https://codereview.chromium.org/2493433002 Cr-Commit-Position: refs/heads/master@{#40865}
-
ahaas authored
Another spec issue. R=titzer@chromium.org, rossberg@chromium.org TEST=unittests/WasmModuleVerifyTest.DataWithoutMemory Review-Url: https://codereview.chromium.org/2486973003 Cr-Commit-Position: refs/heads/master@{#40855}
-
ahaas authored
The spec defines that indirect calls in WebAssembly code should cause a validation error if no function table exists. The CL contains the following changes: 1) Throw a validation error for indirect calls if the function table not exist. 2) Do not create TF nodes to throw a runtime error for indirect calls if the function table does not exist. 3) Fix existing unit tests by creating a dummy function table. 4) Add new a new test which tests that indirect calls without function table cause a validation error. R=rossberg@chromium.org CC=titzer@chromium.org TEST=unittests/AstDecoderTest.IndirectCallsWithoutTableCrash Review-Url: https://codereview.chromium.org/2484623002 Cr-Commit-Position: refs/heads/master@{#40852}
-
- 08 Nov, 2016 2 commits
-
-
ahaas authored
R=titzer@chromium.org, rossberg@chromium.org TEST=unittests/WasmModuleVerifyTest.ExportMutableGlobal Review-Url: https://codereview.chromium.org/2481263003 Cr-Commit-Position: refs/heads/master@{#40838}
-
ahaas authored
This fixes another spec tests. R=rossberg@chromium.org, titzer@chromium.org TEST=WasmModuleVerifyTest.ImportTable_mutable_global Review-Url: https://codereview.chromium.org/2484803002 Cr-Commit-Position: refs/heads/master@{#40831}
-
- 07 Nov, 2016 3 commits
-
-
machenbach authored
Revert of [wasm] Indirect calls without function table cause validation errors. (patchset #3 id:40001 of https://codereview.chromium.org/2484623002/ ) Reason for revert: Speculative revert for blocking roll: https://codereview.chromium.org/2479233002/ Original issue's description: > [wasm] Indirect calls without function table cause validation errors. > > The spec defines that indirect calls in WebAssembly code should cause a > validation error if no function table exists. > > The CL contains the following changes: > 1) Throw a validation error for indirect calls if the function table > not exist. > 2) Do not create TF nodes to throw a runtime error for indirect calls > if the function table does not exist. > 3) Fix existing unit tests by creating a dummy function table. > 4) Add new a new test which tests that indirect calls without function > table cause a validation error. > > R=rossberg@chromium.org > CC=titzer@chromium.org > > TEST=unittests/AstDecoderTest.IndirectCallsWithoutTableCrash TBR=rossberg@chromium.org,titzer@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2479283002 Cr-Commit-Position: refs/heads/master@{#40811}
-
ahaas authored
The spec defines that indirect calls in WebAssembly code should cause a validation error if no function table exists. The CL contains the following changes: 1) Throw a validation error for indirect calls if the function table not exist. 2) Do not create TF nodes to throw a runtime error for indirect calls if the function table does not exist. 3) Fix existing unit tests by creating a dummy function table. 4) Add new a new test which tests that indirect calls without function table cause a validation error. R=rossberg@chromium.org CC=titzer@chromium.org TEST=unittests/AstDecoderTest.IndirectCallsWithoutTableCrash Review-Url: https://codereview.chromium.org/2484623002 Cr-Commit-Position: refs/heads/master@{#40802}
-
ahaas authored
The maximum memory size is a user-defined upper limit for the size of the memory of a WebAssembly instance. The actual limit is the minimum of the user-defined limit and the V8 limit. With this CL we allow the user-defined limit to be greater than the V8 limit, which is required by the spec. R=titzer@chromium.org CC=gdeepti@chromium.org TEST=unittests/WasmModuleVerifyTest.MaxMaximumMemorySize Review-Url: https://codereview.chromium.org/2484643002 Cr-Commit-Position: refs/heads/master@{#40801}
-
- 29 Oct, 2016 1 commit
-
-
titzer authored
This CL implements basic table import functionality. Missing: growing of tables (WebAssembly.Grow) doesn't change dispatch tables Missing: allowing larger table imports than minimum size R=rossberg@chromium.org,bradnelson@chromium.org BUG=v8:5507 Review-Url: https://codereview.chromium.org/2454503005 Cr-Commit-Position: refs/heads/master@{#40661}
-
- 28 Oct, 2016 2 commits
-
-
machenbach authored
Revert of [wasm] Support for restricted table imports. (patchset #7 id:120001 of https://codereview.chromium.org/2454503005/ ) Reason for revert: GC stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/8857 Original issue's description: > [wasm] Support for restricted table imports. > > This CL implements basic table import functionality. > > Missing: growing of tables (WebAssembly.Grow) doesn't change dispatch tables > Missing: allowing larger table imports than minimum size > > R=rossberg@chromium.org,bradnelson@chromium.org > BUG=v8:5507 TBR=bradnelson@chromium.org,rossberg@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5507 Review-Url: https://codereview.chromium.org/2456193006 Cr-Commit-Position: refs/heads/master@{#40656}
-
titzer authored
This CL implements basic table import functionality. Missing: growing of tables (WebAssembly.Grow) doesn't change dispatch tables Missing: allowing larger table imports than minimum size R=rossberg@chromium.org,bradnelson@chromium.org BUG=v8:5507 Review-Url: https://codereview.chromium.org/2454503005 Cr-Commit-Position: refs/heads/master@{#40652}
-
- 26 Oct, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,rossberg@chromium.org,binji@chromium.org,bradnelson@chromium.org BUG=chromium:575167, chromium:659591 Review-Url: https://codereview.chromium.org/2440953002 Cr-Commit-Position: refs/heads/master@{#40600}
-
- 25 Oct, 2016 1 commit
-
-
aseemgarg authored
BUG=chromium:658426 R=ahaas@chromium.org,titzer@chromium.org,gdeepti@chromium.org Review-Url: https://codereview.chromium.org/2447683004 Cr-Commit-Position: refs/heads/master@{#40572}
-
- 19 Oct, 2016 1 commit
-
-
titzer authored
This CL refactors the handling of metadata associated with WebAssembly modules to reduce the duplicate marshalling of data from the C++ world to the JavaScript world. It does this by wrapping the C++ WasmModule* object in a Foreign that is rooted from the on-heap WasmCompiledModule (which is itself just a FixedArray). Upon serialization, the C++ object is ignored and the original WASM wire bytes are serialized. Upon deserialization, the C++ object is reconstituted by reparsing the bytes. This is motivated by increasing complications in implementing the JS API, in particular WebAssembly.Table, which must perform signature canonicalization across instances. Additionally, this CL implements the proper base + offset initialization behavior for tables. R=rossberg@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,yangguo@chromium.org BUG=v8:5507, chromium:575167, chromium:657316 Review-Url: https://chromiumcodereview.appspot.com/2424623002 Cr-Commit-Position: refs/heads/master@{#40434}
-