- 07 May, 2018 1 commit
-
-
Andreas Haas authored
R=clemensh@chromium.org CC=titzer@chromium.org Change-Id: I4951bf7ffc8baf51225e7bef60349186811b9f76 Reviewed-on: https://chromium-review.googlesource.com/1024037 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53020}
-
- 30 Apr, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7490,v8:7570 Change-Id: I74fa43a747b0d399c700acc43eb82e15ea90ba16 Reviewed-on: https://chromium-review.googlesource.com/1032736Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52876}
-
- 24 Apr, 2018 1 commit
-
-
Andreas Haas authored
This CL splits the definition of ValueType and its helper functions into its own header file. R=clemensh@chromium.org Bug: v8:7570 Change-Id: I3aa776edb45839d7d38836e131df45732c685310 Reviewed-on: https://chromium-review.googlesource.com/1021810 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52758}
-
- 06 Apr, 2018 1 commit
-
-
Ben L. Titzer authored
This change makes lifetime management of WasmCode much simpler. By using the WasmInstanceObject as the context for WASM code execution, including the pointer to the memory base and indirect function tables, this keeps the instance alive when WASM code is on the stack, since the instance object is passed as a parameter and spilled onto the stack. This is in preparation of sharing the code between instances and isolates. Bug: v8:7424 R=mstarzinger@chromium.org Change-Id: Ia35a3ce91a8f6135767fa764e185cde8bbc889f4 Reviewed-on: https://chromium-review.googlesource.com/997932 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52436}
-
- 05 Apr, 2018 1 commit
-
-
Andreas Haas authored
Add support for decoding anyref globals, and some drive-by cleanups. R=titzer@chromium.org Bug: v8:7581 Change-Id: I3527f996a3fa1a890918a5924e951fbafa394cf2 Reviewed-on: https://chromium-review.googlesource.com/997655Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52391}
-
- 04 Apr, 2018 2 commits
-
-
Ben Titzer authored
This reverts commit 57bf0bfe. Reason for revert: <INSERT REASONING HERE> Original change's description: > [wasm] Merge the WasmContext into WasmInstanceObject > > This change makes lifetime management of WasmCode much simpler. > By using the WasmInstanceObject as the context for WASM code execution, > including the pointer to the memory base and indirect function tables, > this keeps the instance alive when WASM code is on the stack, since > the instance object is passed as a parameter and spilled onto the stack. > This is in preparation of sharing the code between instances and > isolates. > > Bug: v8:7424 > > Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e > Reviewed-on: https://chromium-review.googlesource.com/958520 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52361} TBR=mstarzinger@chromium.org,titzer@chromium.org,ahaas@chromium.org,clemensh@chromium.org Change-Id: I653e27b46dbc43ad773eda4292d521a508f42d79 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7424 Reviewed-on: https://chromium-review.googlesource.com/995418Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52364}
-
Ben L. Titzer authored
This change makes lifetime management of WasmCode much simpler. By using the WasmInstanceObject as the context for WASM code execution, including the pointer to the memory base and indirect function tables, this keeps the instance alive when WASM code is on the stack, since the instance object is passed as a parameter and spilled onto the stack. This is in preparation of sharing the code between instances and isolates. Bug: v8:7424 Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e Reviewed-on: https://chromium-review.googlesource.com/958520 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52361}
-
- 23 Mar, 2018 1 commit
-
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: I66bf50bc1243cb5e4b9f2693febf91f74077a2f4 Reviewed-on: https://chromium-review.googlesource.com/978002Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52176}
-
- 07 Feb, 2018 1 commit
-
-
Karl Schimpf authored
Adds the remaining saturating float to int conversion opcodes. Bug: v8:7226 Change-Id: If84e564a7816eb4aedbc336f5c2e614da22bb10a Reviewed-on: https://chromium-review.googlesource.com/905472 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51157}
-
- 31 Jan, 2018 1 commit
-
-
Karl Schimpf authored
Implements the saturating opcode i64.trunc_s:sat/f32. Also does some refactoring of the i32 saturating opcodes use a simplier solution (calling a single method to handle all i32 values). Also refactors code so that the remaining i64 saturating conversions should be easy to add to the wasm compiler. Bug: v8:7226 Change-Id: I031aca1e059b4baa989a56ecbc16941f591ff9b3 Reviewed-on: https://chromium-review.googlesource.com/887333 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51001}
-
- 25 Jan, 2018 1 commit
-
-
Deepti Gandluri authored
- Shift opcode numbers for asmjs-compat opcodes - Add --experimental-wasm-se flag to gate sign extension opccodes - Fix codegen for ia32 movsx instructions Bug: v8:6532 Change-Id: If7c9eff5ac76d24496effb2314ae2601bb8bba85 Reviewed-on: https://chromium-review.googlesource.com/838403 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50875}
-
- 18 Jan, 2018 1 commit
-
-
Ben L. Titzer authored
This is a further step to separate the implementation of the JavaScript API from the internals of the WASM implementation. Now, wasm-js.cc only needs to interact with the WASM engine and is (almost) independent of module-decoder.h and module-compiler.h. Also, move SyncCompileAndInstantiate() into wasm-module-runner.cc. Bug: v8:7316 R=clemensh@chromium.org, mstarzinger@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I7765af54ac16f53a5ff88c17a22c5d36bacaf926 Reviewed-on: https://chromium-review.googlesource.com/870871 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50679}
-
- 16 Jan, 2018 1 commit
-
-
Karl Schimpf authored
Adds I32UConvertF32, I32SConvertF64, and I32UConvertF64 instructions. Refactors code to use templates where appropriate, and to use previously committed template function is_inbounds() when appropriate in tests. Bug: v8:7226 Change-Id: I2701e5fd0b21cefa1f285677f20616cfde29ab0d Reviewed-on: https://chromium-review.googlesource.com/862609 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50632}
-
- 11 Jan, 2018 1 commit
-
-
Ben L. Titzer authored
This CL centralizes constants related to decoding from several places into one place and makes it no longer necessary to include wasm-opcodes.h for some simple constants. R=clemensh@chromium.org Bug: Change-Id: I53aa81e34167df467bc7455b717bf67083033943 Reviewed-on: https://chromium-review.googlesource.com/859764 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50503}
-
- 27 Dec, 2017 1 commit
-
-
Karl Schimpf authored
This CL adds the i32.trunc_s:sat/f32 WASM opcode to the turbofan compiler and interpreter (more saturating operators will be added in later CLs). The operatation has been added under an experimental flag. Bug: v8:7226 Change-Id: Ia69e981ffddb2da682e53ba25f489fc9d0cd2db5 Reviewed-on: https://chromium-review.googlesource.com/834670 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50311}
-
- 02 Dec, 2017 1 commit
-
-
Mathias Bynens authored
This patch normalizes the casing of hexadecimal digits in escape sequences of the form `\xNN` and integer literals of the form `0xNNNN`. Previously, the V8 code base used an inconsistent mixture of uppercase and lowercase. Google’s C++ style guide uses uppercase in its examples: https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters Moreover, uppercase letters more clearly stand out from the lowercase `x` (or `u`) characters at the start, as well as lowercase letters elsewhere in strings. BUG=v8:7109 TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6 Reviewed-on: https://chromium-review.googlesource.com/804294 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49810}
-
- 21 Nov, 2017 1 commit
-
-
Andreas Haas authored
Typically the interpreter returns 0xdeadbeef to indicate an exception. However, for stack overflows a normal exception is used. The interpreter requires an activation, however, to deal with normal exceptions. With this CL we start an activation before we execute the fuzzer input in the interpreter. R=clemensh@chromium.org Bug: chromium:781103 Change-Id: I4fc3a18bfc2076aab9ff7d2324a3311fe222954a Reviewed-on: https://chromium-review.googlesource.com/776835 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49545}
-
- 24 Oct, 2017 1 commit
-
-
Andreas Rossberg authored
This adds support for parameters on block, loop, if, cf the multi-value proposal at: https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md With this CL, we ssucceed on all tests in: https://github.com/WebAssembly/multi-value/pull/2 except those involving multiple returns from functions. R=titzer@chromium.org Change-Id: I14a33e86450148f6aed2b8b8cc6bebb2303625c6 Reviewed-on: https://chromium-review.googlesource.com/712578 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48871}
-
- 11 Oct, 2017 4 commits
-
-
Andreas Rossberg authored
Only change over original: Init sig_index to 0 at function-body-decoder-impl.h:168, to make MSAN happy on error path. R=titzer@chromium.org Change-Id: I9ac17215360523b656b10d2466201001b65992c0 Reviewed-on: https://chromium-review.googlesource.com/712655Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#48463}
-
Ben L. Titzer authored
R=clemensh@chromium.org Bug: Change-Id: I54e4d02cd5665d3ba3fd2e91da05599a915c0317 Reviewed-on: https://chromium-review.googlesource.com/712654Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48457}
-
Michael Achenbach authored
This reverts commit e44fdc70. Reason for revert: Breaks msan: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/17482 Original change's description: > [wasm] [multival] Allow function types as block types > > Changes the binary encoding of multi-return blocks to contain a function type index instead of a vector of value types. > > Cf. https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md#binary-format > > Bug: v8:6672 > Change-Id: I506d9323bfd6dba1e7a24c8590bcf5a08b68c433 > Reviewed-on: https://chromium-review.googlesource.com/599807 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Andreas Rossberg <rossberg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48453} TBR=titzer@chromium.org,rossberg@chromium.org Change-Id: Ia711d16ec6bd1c0731a96d38b8661f05be71f64b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6672 Reviewed-on: https://chromium-review.googlesource.com/712634Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48455}
-
Andreas Rossberg authored
Changes the binary encoding of multi-return blocks to contain a function type index instead of a vector of value types. Cf. https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md#binary-format Bug: v8:6672 Change-Id: I506d9323bfd6dba1e7a24c8590bcf5a08b68c433 Reviewed-on: https://chromium-review.googlesource.com/599807Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#48453}
-
- 05 Oct, 2017 1 commit
-
-
Deepti Gandluri authored
Fix disassembly of atomic operations for the inspector. BUG=v8:6842,v8:6532 Change-Id: I3701b55c28b10561d1726e2c0b9fe2e1b2c76b8e Reviewed-on: https://chromium-review.googlesource.com/703468 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by:
Brad Nelson <bradnelson@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#48324}
-
- 28 Sep, 2017 1 commit
-
-
Ben L. Titzer authored
Note that this also makes it possible to move several classes into the module-compiler.cc file and inline their implementations. This also allows removing several uses of wasm-module.h from other places in V8 that include wasm-objects.h. R=yangguo@chromium.org,clemensh@chromium.org,ahaas@chromium.org Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I303ee2bb49dc53c951d377a1b65699c1e0e91da7 Reviewed-on: https://chromium-review.googlesource.com/687494Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48204}
-
- 25 Sep, 2017 1 commit
-
-
Karl Schimpf authored
This is a second attempt at landing CL 644866 which was reverted by CL 667019. Extends the current implementation of WASM exceptions to be able to throw exceptions with values (not just tags). A JS typed (uint_16) array is used to hold the thrown values. This allows all WASM types to be stored (i32, i64, f32, and f64) as well as be inspected in JS. The previous CL was reverted because the WASM compiler made calls to run time functions with tagged objects, which must not be done. To fix this, all run time calls use the thread-level isolate to hold the exception being processed. Bug: v8:6577 Change-Id: I4b1ef7e2847b71a2fab8e9934a0531057db9de63 Reviewed-on: https://chromium-review.googlesource.com/677056 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48148}
-
- 15 Sep, 2017 1 commit
-
-
Camillo Bruni authored
This reverts commit 7b5a4022. Reason for revert: GC stress-test failures exposed by 7742e534 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/15110/steps/Mjsunit/logs/exceptions Original change's description: > Add capability of throwing values in WASM > > Extends the current implementation of WASM exceptions to be able to > throw exceptions with values (not just tags). > > An JS typed array (uint_16) is used to hold thrown values, so that the > thrown values can be inspected in JS. > > Bug: v8:6577 > Change-Id: I1007e79ceaffd64386b62562919cfbb920fc10c5 > Reviewed-on: https://chromium-review.googlesource.com/633866 > Commit-Queue: Karl Schimpf <kschimpf@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Eric Holk <eholk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48001} TBR=bbudge@chromium.org,mtrofin@chromium.org,eholk@chromium.org,clemensh@chromium.org,kschimpf@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:6577 Change-Id: I8f545183c2d2abb1bf4a0b3ee23379f3754ffd55 Reviewed-on: https://chromium-review.googlesource.com/667019Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#48050}
-
- 13 Sep, 2017 1 commit
-
-
Karl Schimpf authored
Extends the current implementation of WASM exceptions to be able to throw exceptions with values (not just tags). An JS typed array (uint_16) is used to hold thrown values, so that the thrown values can be inspected in JS. Bug: v8:6577 Change-Id: I1007e79ceaffd64386b62562919cfbb920fc10c5 Reviewed-on: https://chromium-review.googlesource.com/633866 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48001}
-
- 11 Sep, 2017 1 commit
-
-
Andreas Haas authored
In the test case the module contained a memory which got exported by the name 'main'. The fuzzer crashed when it tried to cast the memory to a function to execute it. This CL checks that 'main' is a function before doint the cast. R=clemensh@chromium.org Bug: chromium:763349 Change-Id: I9a21413c8038a7547f8b59057afea2870b15499a Reviewed-on: https://chromium-review.googlesource.com/659978Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#47941}
-
- 08 Sep, 2017 1 commit
-
-
Clemens Hammacher authored
Even though we were generating additional arguments with default value in the case that the caller was not providing enough, we then passed the original pointer, leading to potential out-of-bounds accesses. R=ahaas@chromium.org Bug: chromium:763294,chromium:763297 Change-Id: Id18622d0d40e0408e26a5fc6f97494b5f9e18d17 Reviewed-on: https://chromium-review.googlesource.com/657699Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47930}
-
- 07 Sep, 2017 1 commit
-
-
Andreas Haas authored
The wasm-async fuzzer uses the bytes provided by the fuzzer engine directly as wasm module bytes, compiles them with async compilation, and then tries to execute the "main" function of the module. This "main" can have an infinite loop which causes a timeout in the fuzzer. With this CL the "main" function is first executed with the interpreter. If the execution in the interpreter finishes within 16k steps, which means that there is no infinite loop, also the compiled code is executed. I added the raw fuzzer input as a test case because in this case I really want to test the fuzzer and not V8. R=clemensh@chromium.org Bug: chromium:761784 Change-Id: Id1fe5da0da8670ec821ab9979fdb9454dbde1162 Reviewed-on: https://chromium-review.googlesource.com/651046 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47874}
-
- 04 Sep, 2017 1 commit
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Bug: v8:6756 Change-Id: Ic748a4848f66dfcd9b8577d615669b61670e5431 Reviewed-on: https://chromium-review.googlesource.com/647757Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47799}
-
- 10 Aug, 2017 1 commit
-
-
Ben L. Titzer authored
This is a pure renaming CL; no functionality changes. R=mtrofin@chromium.org Bug: Change-Id: I2f8262bdb17b9256d5b66fad56a7e51063f6f0d9 Reviewed-on: https://chromium-review.googlesource.com/610007Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47282}
-
- 07 Aug, 2017 1 commit
-
-
Mircea Trofin authored
This is part of the effort to consolidate the ownership of wasm instantiation/specialization parameters. This change is focused solely on the interpreter part of that effort, to verify we're not regressing performance in interpreter benchmarks. There are two aspects being addressed: - dataflow-wise, we always fetch the interpreter's memory view from the runtime objects (i.e. WasmInstanceObject/WasmCompiledModule). This is consistent with how other instance-specific information is obtained (e.g. code, indirect functions). - representation-wise, we do not reuse ModuleEnv/WasmInstance just for the memory view, because it is surprising that other instance info isn't accessed from there. Bug: Change-Id: I536fbffd8e1f142a315fa1770ba9b08319f56a8e Reviewed-on: https://chromium-review.googlesource.com/602083Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47205}
-
- 18 Jul, 2017 1 commit
-
-
Clemens Hammacher authored
This allows to reuse the class e.g. in the baseline compiler. R=titzer@chromium.org Change-Id: I7251af16e8c74f267834a9cefb676edf3c9f3a07 Reviewed-on: https://chromium-review.googlesource.com/570020Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46735}
-
- 14 Jul, 2017 1 commit
-
-
Clemens Hammacher authored
This is a reland of 5648aad5. Previous compile error should be fixed by disabling strict aliasing assumptions on gyp: https://chromium-review.googlesource.com/c/571806 Original change's description: > [wasm] Don't store global handles in the interpreter > > Storing global handles in the interpreter is dangerous, because the > global handles are strong roots into the heap. The interpreter itself is > referenced from the heap via a Managed. Hence the interpreter keeps the > instance alive, while the instance keeps the Managed alive. So the GC > will never collect them. > > This CL refactors this to only store the handle to the instance object > while executing in the interpreter, and clearing it when returning. > It also removes the cache of import wrappers, as it should not be > performance critical, but keeps lots of objects alive. If it turns out > to be performance critical, we will have to reintroduce such a cache > stored in the WasmDebugInfo object. > > R=titzer@chromium.org > CC=ahaas@chromium.org > > Bug: chromium:610330 > Change-Id: I54b489dadc16685887c0c1a98da6fd0df5ad7cbb > Reviewed-on: https://chromium-review.googlesource.com/567058 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46629} TBR=titzer@chromium.org Bug: chromium:610330 Change-Id: Ic7836b1b1a044a89f2138f0c76f92acd3a1b2f2b Reviewed-on: https://chromium-review.googlesource.com/570578 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46679}
-
- 13 Jul, 2017 2 commits
-
-
Clemens Hammacher authored
This reverts commit 5648aad5. Reason for revert: Compile error on mips: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/10732 Original change's description: > [wasm] Don't store global handles in the interpreter > > Storing global handles in the interpreter is dangerous, because the > global handles are strong roots into the heap. The interpreter itself is > referenced from the heap via a Managed. Hence the interpreter keeps the > instance alive, while the instance keeps the Managed alive. So the GC > will never collect them. > > This CL refactors this to only store the handle to the instance object > while executing in the interpreter, and clearing it when returning. > It also removes the cache of import wrappers, as it should not be > performance critical, but keeps lots of objects alive. If it turns out > to be performance critical, we will have to reintroduce such a cache > stored in the WasmDebugInfo object. > > R=titzer@chromium.org > CC=ahaas@chromium.org > > Bug: chromium:610330 > Change-Id: I54b489dadc16685887c0c1a98da6fd0df5ad7cbb > Reviewed-on: https://chromium-review.googlesource.com/567058 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46629} TBR=titzer@chromium.org,clemensh@chromium.org Change-Id: Ifadfb885f937f37bb3eab4732a97f20ff40c2583 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:610330 Reviewed-on: https://chromium-review.googlesource.com/569962Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46630}
-
Clemens Hammacher authored
Storing global handles in the interpreter is dangerous, because the global handles are strong roots into the heap. The interpreter itself is referenced from the heap via a Managed. Hence the interpreter keeps the instance alive, while the instance keeps the Managed alive. So the GC will never collect them. This CL refactors this to only store the handle to the instance object while executing in the interpreter, and clearing it when returning. It also removes the cache of import wrappers, as it should not be performance critical, but keeps lots of objects alive. If it turns out to be performance critical, we will have to reintroduce such a cache stored in the WasmDebugInfo object. R=titzer@chromium.org CC=ahaas@chromium.org Bug: chromium:610330 Change-Id: I54b489dadc16685887c0c1a98da6fd0df5ad7cbb Reviewed-on: https://chromium-review.googlesource.com/567058Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46629}
-
- 10 Jul, 2017 1 commit
-
-
jgruber authored
This adds a convenience method for the common Smi to int conversion pattern. Bug: Change-Id: I7d7b171c36cfec5f6d10c60f1d9c3e06e3aed0fa Reviewed-on: https://chromium-review.googlesource.com/563205 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#46516}
-
- 29 Jun, 2017 1 commit
-
-
Clemens Hammacher authored
In our internal code, we should only use pending exceptions. They will be converted to scheduled exceptions on the API boundary. Hence, the ErrorThrower just sets a pending exception; it should never have to think about scheduled exceptions. The new ScheduledErrorThrower inherits from ErrorThrower and reschedules any pending exceptions in its destructor (turning them into scheduled exceptions). In some situations, there might already be a scheduled exception, e.g. when calling other API methods (v8::Value::Get). In this case, the ErrorThrower should also not set another pending exception. For the reasons mentioned above, this can only be handled in the ScheduledErrorThrower, which is used the API methods. This fixes one DCHECK failure and one TODO about scheduled exceptions if no instance can be created, because the start function throws. R=mtrofin@chromium.org, mstarzinger@chromium.org BUG=v8:6232,chromium:736256 Change-Id: I4905be04c565df9495de18fb26adbb5c05d193d2 Reviewed-on: https://chromium-review.googlesource.com/548641 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46314}
-
- 27 Jun, 2017 1 commit
-
-
Karl Schimpf authored
Removes from CL https://codereview.chromium.org/2929853003 code to fix histogram timers in class WasmCompilationUnit. This was done because the CL was reverted due to errors caused by background compiles that updated UMA histogram timers. The goal of this CL is to reland the remaining portion of the reverted CL. Bug:v8:6361 Change-Id: Ic03ceb118734bd55c463a843521bcd5b09342afe Reviewed-on: https://chromium-review.googlesource.com/550196Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Karl Schimpf <kschimpf@google.com> Cr-Commit-Position: refs/heads/master@{#46268}
-