- 23 Oct, 2017 1 commit
-
-
Deepti Gandluri authored
If the buffer associated with WebAssembly.Memory is used as memory for asm.js modules, throw a range error on Memory.Grow. Bug: chromium:776677 Change-Id: Iebcd7797fa7724002dd8073d1dbaeb98f080d316 Reviewed-on: https://chromium-review.googlesource.com/731844 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48837}
-
- 20 Oct, 2017 1 commit
-
-
Ben L. Titzer authored
[wasm] Fix signature canonicalization for error case. The decoder should not attempt to insert null signatures into the SignatureMap. R=ahaas@chromium.org Bug: chromium:775366 Change-Id: I0fbc0547dbf00fd25d37271a03b6756481a4c6a1 Reviewed-on: https://chromium-review.googlesource.com/730752Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48793}
-
- 19 Oct, 2017 1 commit
-
-
Eric Holk authored
The bug reference has been fixed, probably due to the new WasmContext changes. We should keep a regression test for this anyway though. Bug: v8:6931 Change-Id: Ie9d94690e764498d2153691d96414d0d26258794 Reviewed-on: https://chromium-review.googlesource.com/727022Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48712}
-
- 17 Oct, 2017 2 commits
-
-
Ben L. Titzer authored
R=clemensh@chromium.org Bug: chromium:766003,chromium:772332,chromium:771243 Change-Id: I1e2df014f31a87fd94154277d1a415ec359d42df Reviewed-on: https://chromium-review.googlesource.com/721666Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48635}
-
Ben L. Titzer authored
R=rossberg@chromium.org Bug: Change-Id: Icac33dc87dd660173e5a45d02b31be46f7d1cb2d Reviewed-on: https://chromium-review.googlesource.com/721550 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#48632}
-
- 16 Oct, 2017 1 commit
-
-
Mathias Bynens authored
This patch introduces assertPromiseFulfills and assertPromiseFulfills as a replacement for assertPromiseResult because it’s more JavaScript-y. BUG=v8:6921 R=ahaas@chromium.org Also-By: ahaas@chromium.org Change-Id: I2f865dba3992ddf3b58987bf0b376d143edb5c31 Reviewed-on: https://chromium-review.googlesource.com/718746 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48578}
-
- 13 Oct, 2017 1 commit
-
-
Clemens Hammacher authored
Repeatedly allocating >1GB fails on stress bots, hence run a GC in-between to free the array buffer. R=titzer@chromium.org CC=mlippautz@chromium.org, ulan@chromium.org Bug: v8:6924 Change-Id: I44761e83f62b8225148eecbc569748cd3be21d6a Reviewed-on: https://chromium-review.googlesource.com/718109Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48541}
-
- 04 Oct, 2017 2 commits
-
-
Eric Holk authored
This reverts commit 5e76ff5a. Reason for revert: tsan failures - https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/17574 Original change's description: > Reland "[wasm] always allocate memory when guard regions are needed" > > This reverts commit 7cf29d8d. > > Original change's description: > > [wasm] always allocate memory when guard regions are needed > > > > When using trap handlers, memory references do not get any checks inserted. This > > means there is no check for a null memory as happens when the memory size is > > 0. Normally this would be correctly caught as an out of bounds access, since the > > low memory addresses are not normally mapped. However, if they were mapped for > > some reason, we would not catch the out of bounds access. > > > > The fix is to ensure WebAssembly instances always have a guard region even if > > the memory is size 0. > > > > Bug: chromium:769637 > > Change-Id: I09fdaea92b7ccb3a6cc9e28392171ec098538a00 > Reviewed-on: https://chromium-review.googlesource.com/695812 > Commit-Queue: Eric Holk <eholk@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48293} TBR=gdeepti@chromium.org,mtrofin@chromium.org,mlippautz@chromium.org,eholk@chromium.org,eholk@google.com,clemensh@chromium.org Change-Id: I52d5354126158a92602b08c48703d562ac95075b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/699599Reviewed-by:
Eric Holk <eholk@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48294}
-
Eric Holk (eholk) authored
This reverts commit 7cf29d8d. Original change's description: > [wasm] always allocate memory when guard regions are needed > > When using trap handlers, memory references do not get any checks inserted. This > means there is no check for a null memory as happens when the memory size is > 0. Normally this would be correctly caught as an out of bounds access, since the > low memory addresses are not normally mapped. However, if they were mapped for > some reason, we would not catch the out of bounds access. > > The fix is to ensure WebAssembly instances always have a guard region even if > the memory is size 0. > > Bug: chromium:769637 Change-Id: I09fdaea92b7ccb3a6cc9e28392171ec098538a00 Reviewed-on: https://chromium-review.googlesource.com/695812 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48293}
-
- 30 Sep, 2017 1 commit
-
-
Eric Holk authored
In JS to Wasm wrappers, arguments have to be converted from JavaScript's representation to Wasm's representation. Because of property accessors, this can result in JavaScript or even asm.js/Wasm code being run. We were previously setting this flag before doing the parameter conversions, and if these conversions triggered a Wasm property getter then we would try to set the flag twice. With this change, we wait until after all argument conversions are done to set the flag. Bug: chromium:769846 R=bradnelson@chromium.org Change-Id: Ia4b56df45619dcad69f3750bb33cacfedcaeb5b2 Reviewed-on: https://chromium-review.googlesource.com/693414 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#48244}
-
- 29 Sep, 2017 2 commits
-
-
Eric Holk authored
This reverts commit 1f99c66b. Reason for revert: Test timeouts on Win64 Debug: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/19226 Original change's description: > [wasm] always allocate memory when guard regions are needed > > When using trap handlers, memory references do not get any checks inserted. This > means there is no check for a null memory as happens when the memory size is > 0. Normally this would be correctly caught as an out of bounds access, since the > low memory addresses are not normally mapped. However, if they were mapped for > some reason, we would not catch the out of bounds access. > > The fix is to ensure WebAssembly instances always have a guard region even if > the memory is size 0. > > Bug: chromium:769637 > Change-Id: I2d0f8c107563236c3780eb7746c2f820e319c65f > Reviewed-on: https://chromium-review.googlesource.com/693137 > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > Commit-Queue: Eric Holk <eholk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48240} TBR=gdeepti@chromium.org,mtrofin@chromium.org,eholk@chromium.org Change-Id: I4065b367c6cfffe8dd601b67cd53ad54759ae96a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:769637 Reviewed-on: https://chromium-review.googlesource.com/692918Reviewed-by:
Eric Holk <eholk@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48242}
-
Eric Holk authored
When using trap handlers, memory references do not get any checks inserted. This means there is no check for a null memory as happens when the memory size is 0. Normally this would be correctly caught as an out of bounds access, since the low memory addresses are not normally mapped. However, if they were mapped for some reason, we would not catch the out of bounds access. The fix is to ensure WebAssembly instances always have a guard region even if the memory is size 0. Bug: chromium:769637 Change-Id: I2d0f8c107563236c3780eb7746c2f820e319c65f Reviewed-on: https://chromium-review.googlesource.com/693137Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48240}
-
- 20 Sep, 2017 1 commit
-
-
Deepti Gandluri authored
Memory instantiate on initialize should always patch memory references. If memory references are not patched for no initial memory, on subsequent calls to grow_memory in wasm functions for instances that share a module, the references will be patched without resetting cloned compiled values to their correct initial values. BUG=chromium:763439 Change-Id: I666439332379b02aa344e99d61ef3dc88ab86cc8 Reviewed-on: https://chromium-review.googlesource.com/674707Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#48097}
-
- 11 Sep, 2017 1 commit
-
-
Andreas Haas authored
The wasm valiation incorrectly allowed simd locals, even without the experimental flag turned on. This was not noted in the generated code because simd opcodes were forbidden, but the interpreter could not handle these locals. R=clemensh@chromium.org Bug: chromium:763697 Change-Id: I11d924ac21e50bce81d0504c2c7b252105a89f80 Reviewed-on: https://chromium-review.googlesource.com/660117 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47946}
-
- 05 Sep, 2017 1 commit
-
-
Deepti Gandluri authored
BUG=v8:6749 R=titzer@chromium.org Change-Id: I4ac2ac8d8ca98d71dbc5a86c3cca268cd836997c Reviewed-on: https://chromium-review.googlesource.com/645146 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47837}
-
- 24 Aug, 2017 1 commit
-
-
Mircea Trofin authored
Initialize the code table with a valid default (e.g. illegal builtin), otherwise we're invalidating assumptions when relocating. Bug: chromium:757217 Change-Id: I77890f1fe0e31534d9844d2e91694df1ec185110 Reviewed-on: https://chromium-review.googlesource.com/630097Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47560}
-
- 10 Aug, 2017 1 commit
-
-
Mircea Trofin authored
When lazy-compiling, it is important we reconstitute the ModuleEnv accurately. Besides addressing a bug, this change also does away with the need to relocate memory and globals parameters (in lazy compilation), by using "the right ones" upfront. Bug: chromium:753496 Change-Id: I1412a499f05d02d49319fced1b3047698328f3b5 Reviewed-on: https://chromium-review.googlesource.com/609376Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47280}
-
- 09 Aug, 2017 1 commit
-
-
Ben L. Titzer authored
BUG=chromium:752423 R=mtrofin@chromium.org,bradnelson@chromium.org Change-Id: Ie6d80a82cd40b598e917a79842e6639e73be9194 Reviewed-on: https://chromium-review.googlesource.com/606587Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47251}
-
- 26 Jul, 2017 1 commit
-
-
Ben L. Titzer authored
This brings the wasm-constants.js file inline with that (forked copy) in the WebAssembly spec repo, which should make it easier to export tests from V8 to the spec in the future. R=clemensh@chromium.org Bug: Change-Id: I7db23efc2d671f65b614f9dbc97ae2f355f91b04 Reviewed-on: https://chromium-review.googlesource.com/586248Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46894}
-
- 14 Jul, 2017 1 commit
-
-
Clemens Hammacher authored
The code was already there, but there was a bug in it: Because of the missing reference, we were only updating a *copy* of the signature map, hence the update had no effect. This intentially is a minimal CL, in order to allow for easy backmerging. More mitigations and tests are coming in a separate CL. R=titzer@chromium.org Change-Id: Ifb462093f4b8f4d5380b6774636537c67c2b676c Reviewed-on: https://chromium-review.googlesource.com/570278Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46664}
-
- 13 Jul, 2017 1 commit
-
-
Clemens Hammacher authored
It's ok that the instance of the called code object is different from the caller instance. This happens if one instance calls an exported function of another instance. R=ahaas@chromium.org Bug: chromium:739768 Change-Id: I6afa8332a9b33fe32e9332cdca573053f058421d Reviewed-on: https://chromium-review.googlesource.com/568494Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46624}
-
- 30 Jun, 2017 2 commits
-
-
Andreas Haas authored
This reverts commit 1520a851. Reason for revert: This CL does not do what it should. All tasks which access the isolate have to be cancelable to guarantee that the isolate still exists when the task is executed. Foreground compilation tasks access the isolate, so they cannot be just normal tasks. Original change's description: > [wasm] Run foreground compilation tasks as normal tasks > > This CL makes foreground compilation tasks normal (i.e. not cancelable) > again, because otherwise a deadlock can happen. I think the reason why > the foreground tasks were cancelable was to make sure that all tasks > either finish correctly or get canceled. However, since the isolate can > only shut down on the main thread, this means that the foreground task > should have already finished when the isolate shuts down, or it should > not have started at all. I reordered the deletion of the AsyncCompileJob > though to make sure that an AsyncCompileJob is removed from > CompilationManager before its promise is resolved. > > Here is the deadlock: The JS code which is executed after a promise is > resolved is executed within the task which resolves the promise. In case > of async compilation this means that some JS code is executed within a > CompileTask. In JS, the shutdown of the isolate can be triggered. During > the shutdown of the isolate, the CancelableTaskManager waits for all > registered cancelable tasks to complete, including the CompileTask of > async compilation. This means that the CancelableTaskManager waits for > itself to finish, which is a deadlock. > > R=clemensh@chromium.org, mtrofin@chromium.org > > Change-Id: I9f8c7fb2cfc5b9bfc53c761010b1590293bb82c9 > Reviewed-on: https://chromium-review.googlesource.com/554733 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46343} TBR=mtrofin@chromium.org,ahaas@chromium.org,clemensh@chromium.org Change-Id: I60fab90b46d70c703d827816503e7e23b8c50251 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/558284Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46353}
-
Andreas Haas authored
This CL makes foreground compilation tasks normal (i.e. not cancelable) again, because otherwise a deadlock can happen. I think the reason why the foreground tasks were cancelable was to make sure that all tasks either finish correctly or get canceled. However, since the isolate can only shut down on the main thread, this means that the foreground task should have already finished when the isolate shuts down, or it should not have started at all. I reordered the deletion of the AsyncCompileJob though to make sure that an AsyncCompileJob is removed from CompilationManager before its promise is resolved. Here is the deadlock: The JS code which is executed after a promise is resolved is executed within the task which resolves the promise. In case of async compilation this means that some JS code is executed within a CompileTask. In JS, the shutdown of the isolate can be triggered. During the shutdown of the isolate, the CancelableTaskManager waits for all registered cancelable tasks to complete, including the CompileTask of async compilation. This means that the CancelableTaskManager waits for itself to finish, which is a deadlock. R=clemensh@chromium.org, mtrofin@chromium.org Change-Id: I9f8c7fb2cfc5b9bfc53c761010b1590293bb82c9 Reviewed-on: https://chromium-review.googlesource.com/554733 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46343}
-
- 28 Jun, 2017 1 commit
-
-
Andreas Haas authored
R=clemensh@chromium.org BUG=chromium:737069 Change-Id: Ic651c8e84eb8d3e1181355cf44aadf4c4009245b Reviewed-on: https://chromium-review.googlesource.com/552145 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46285}
-
- 26 Jun, 2017 1 commit
-
-
Clemens Hammacher authored
The implication was actually in the wrong direction: If there is no memory start address, then the size must be 0. If the size is 0 though, we might allocate nevertheless to have guard pages around the accessible memory. R=ahaas@chromium.org BUG=chromium:736584 Change-Id: I297dece658d5eaf69c58ecb109ff21d3ca0b8a8d Reviewed-on: https://chromium-review.googlesource.com/548635Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46221}
-
- 20 Jun, 2017 3 commits
-
-
Mircea Trofin authored
Bug: chromium:734108 Change-Id: I696b104e3b6b9dd71a60c21baa558d4f1fec1dfb Reviewed-on: https://chromium-review.googlesource.com/541624 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#46074}
-
Clemens Hammacher authored
If one wasm instance imports an exported function of another instance, we unwrap the js-to-wasm wrapper of the export and use the underlying code object directly. However, the code object does not keep the wasm instance alive. It is only connected via a WeakCell. With this CL, we explicitly store a FixedArray of all wasm instances from which we imported functions to keep them alive at least as long as the instance which imports the code. R=mtrofin@chromium.org, ahaas@chromium.org BUG=chromium:734345 Change-Id: I8dcfc9a4ea2d791a62d8cb7255039e481c50bdfd Reviewed-on: https://chromium-review.googlesource.com/539738Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46062}
-
Clemens Hammacher authored
The constructor of WireBytesRef checks that offset+length is still in the uint32_t range. This CL avoids triggering this check on illegally size strings. R=ahaas@chromium.org BUG=chromium:734246 Change-Id: Iab5c7013aa3e0ac5060bc4733e712a1652679b1a Reviewed-on: https://chromium-review.googlesource.com/539402Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46050}
-
- 13 Jun, 2017 1 commit
-
-
Mircea Trofin authored
Bug: chromium:731351 Change-Id: I810986cba2f575da9de2c4bb70c250784148eeb5 Reviewed-on: https://chromium-review.googlesource.com/532634 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45918}
-
- 06 Jun, 2017 1 commit
-
-
Clemens Hammacher authored
The regression is already fixed. This just adds a regression test to ensure it will never be reintroduced. R=ahaas@chromium.org BUG=chromium:729991 Change-Id: I5cf960cc756cbb7723041bc06a78d6a14c66e241 Reviewed-on: https://chromium-review.googlesource.com/525538Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45739}
-
- 01 Jun, 2017 1 commit
-
-
gdeepti authored
BUG=chromium:724972 R=clemensh@chromium.org, rossberg@chromium.org Review-Url: https://codereview.chromium.org/2917603002 Cr-Commit-Position: refs/heads/master@{#45665}
-
- 30 May, 2017 1 commit
-
-
Clemens Hammacher authored
This time for the current memory size. This call also used to use the context object stored in the instance, hence it required the instance to be set. This is no longer the case, so the DCHECKs can just be removed. R=ahaas@chromium.org BUG=chromium:727222 Change-Id: I72a7e3e80c3beb15ecad00c5be068e803456797e Reviewed-on: https://chromium-review.googlesource.com/517947Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45587}
-
- 29 May, 2017 1 commit
-
-
Clemens Hammacher authored
For lazy compilation, we encode information about table exports in the deoptimization data. This information is rebuilt on each instantiation, so we need to reset it when reusing code objects from another instance. R=ahaas@chromium.org BUG=chromium:727219 Change-Id: I90557ef06e692d0a8323223cac26679efcfa408b Reviewed-on: https://chromium-review.googlesource.com/517945Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45559}
-
- 23 May, 2017 1 commit
-
-
Clemens Hammacher authored
Validation normally happens while generating the turbofan graph of a wasm function. For lazy compilation (behind the flag --wasm-lazy-compilation), we skip this graph generation step during module generation. Thus we need to validate explicitely. R=ahaas@chromium.org BUG=chromium:724851 Change-Id: Ic70887c0d823460a272d0bb636dc98b2b7a7e55e Reviewed-on: https://chromium-review.googlesource.com/509574Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45478}
-
- 22 May, 2017 1 commit
-
-
Clemens Hammacher authored
If the maximum number of memory pages is raised using --wasm-max-mem-pages, we might allocate more than kMaxInt bytes for wasm memory. The byte length is stored as int in JSArrayBuffer, hence this can lead to failures. Thus, we now additially check against kMaxInt, and fail instantiation if this check fails. Drive-by: Add/fix more bounds checks. R=ahaas@chromium.org BUG=chromium:724846 Change-Id: Id8e1a1e13e15f4aa355ab9414b4b950510e5e88a Reviewed-on: https://chromium-review.googlesource.com/509255Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45465}
-
- 17 May, 2017 2 commits
-
-
Clemens Hammacher authored
The underlying issue is that TF Nodes cannot handle input counts outside the integer range. On an illegal br_table instruction, we generated a switch node with a control output count >kMaxInt. Operator::ControlOutputCount turned this into a negative integer later, leading to a failing DCHECK. Since such large numbers cannot occur in any valid wasm function anyway, we just add an additional check to the br table count. There is already a TODO in the code to change Operator::ControlOutputCount to size_t. R=ahaas@chromium.org BUG=chromium:722445 Change-Id: I1975072226e073dee6c8da3b9fa9a050a4695917 Reviewed-on: https://chromium-review.googlesource.com/505496Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45365}
-
Clemens Hammacher authored
The interpreter does not implement all asm.js specific opcodes. Thus the combination of --validate-asm and --wasm-interpret-all might crash. The interpreter does not need to execute asm.js modules, as they are debugged by executing them in turbofan instead of the wasm interpreter. This CL thus excludes asm.js modules from --wasm-interpret-all. R=ahaas@chromium.org BUG=chromium:719175 Change-Id: I14228ea11ee3ea8a229cfa6e4179338a442b6cca Reviewed-on: https://chromium-review.googlesource.com/506160 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45364}
-
- 04 May, 2017 1 commit
-
-
gdeepti authored
If an ArrayBuffer is setup through the WebAssembly.Memory constructor, identify these with a flag and avoid optimizations in js-typed-lowering.cc. This is needed becasue buffers associated with memory objects can be grown/detached leading to crashes. BUG=chromium:717194 Review-Url: https://codereview.chromium.org/2862763002 Cr-Commit-Position: refs/heads/master@{#45105}
-
- 03 May, 2017 1 commit
-
-
Clemens Hammacher authored
The --wasm-interpret-all flag is mainly used for debugging. Combining it with lazy compilation is unreasonable and would create a lot of special cases in both code paths. Hence this CL disallows the combination of these two flags by adding a negative flag implication. R=rossberg@chromium.org BUG=chromium:715216 Change-Id: I777e21d7e64f567e2728498dbb6f5b0709cd28f1 Reviewed-on: https://chromium-review.googlesource.com/494486Reviewed-by:
Andreas Rossberg <rossberg@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45047}
-
- 02 May, 2017 1 commit
-
-
Clemens Hammacher authored
ErrorThrower::Reify() should only be called if an error is actually set. This CL introduces a Reset() method to replace the obsolete (now disallowed) usages. R=mtrofin@chromium.org BUG=chromium:717056 Change-Id: I41b989a9c7b33591ee26ec6d43540a38289ab54f Reviewed-on: https://chromium-review.googlesource.com/493506Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45039}
-