- 09 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
This extracts the lambda tasks to an own compilation unit and header file. Additionally, it addresses the TODO to avoid templates and just store the function to execute in an std::function. Third, it provides the same functionality for pure (non-cancellable non-idle) tasks. Last, it removes the "Lambda" part from the methods, because we can actually instantiate it with anything that is invocable (function pointer, lambda, functor, ...). R=ahaas@chromium.org Bug: v8:8238 Change-Id: I2f613f5b15ee208f215bbf74bd6d1d41889fd637 Reviewed-on: https://chromium-review.googlesource.com/c/1328923 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57397}
-
- 08 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
Introduce a typedef to avoid repeating the function definition multiple times. R=ahaas@chromium.org Change-Id: I9d8a2a9b663f86ce0f6e21edf6d4a6d5ae450efc Reviewed-on: https://chromium-review.googlesource.com/c/1325963Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57352}
-
- 07 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
Compilation units currently contain pointers into allocated space that contains the code of the respective function. This requires us to keep the StreamingDecoder alive as long as compilation is still running (including tiering). This CL refactors this by having an additional redirection (WireBytesStorage) which can point to either the StreamingDecoder or the NativeModule. We only keep the code section buffer alive as long as the StreamingWireBytesStorage is still in use. I will further refactor memory ownership in a follow-up CL to not make the AsyncCompileJob keep the StreamingDecoder alive. R=ahaas@chromium.org Bug: v8:8343,v8:7921,v8:8050 Change-Id: I780582c3217abf64000454f2c9c108b9ac9fbff1 Reviewed-on: https://chromium-review.googlesource.com/c/1319588Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57317}
-
- 06 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
The CompileStep is only invoked via the {AsyncCompileJob} that owns it, so we can just pass a pointer to the AsyncCompileJob instead of storing it in the step itself. R=ahaas@chromium.org Bug: v8:8238, v8:7921 Change-Id: I92eda222ace2d5fef5af7663175c62fa7601810c Reviewed-on: https://chromium-review.googlesource.com/c/1319759 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#57291}
-
- 05 Nov, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Icba445650131dcd54495f40f194ffe64cce24f94 Reviewed-on: https://chromium-review.googlesource.com/c/1317587Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57233}
-
- 31 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
Move code logging out of the finisher task. Schedule a separate task for logging, but only if logging is actually enabled. R=mstarzinger@chromium.org Bug: v8:7921 Change-Id: Ib2c7db22c87e60e204096df3e8ef5b354802984f Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1308113 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57165}
-
- 30 Oct, 2018 3 commits
-
-
Clemens Hammacher authored
This removes another liability of the finisher: to abort compilation and publish errors once an error state has been set by a background compile unit. This CL makes background threads set the error state directly and schedule a foreground task to actually publish the error (e.g. via the promise). R=mstarzinger@chromium.org Bug: v8:7921 Change-Id: I7a6a7ca4f235c2ad374b6ffc434eb6ac7d5f54ae Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1307425Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57135}
-
Clemens Hammacher authored
For memory limit checks, we should use the minimum of the --wasm-max-mem-pages flag and kV8MaxWasmMemoryPages. The former is a limit set by the user, the latter is the maximum we can handle internally. R=titzer@chromium.org Bug: chromium:898677 Change-Id: I3c549f4e90dd016b5d07475d9353f30134f76dcc Reviewed-on: https://chromium-review.googlesource.com/c/1305274 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57127}
-
Clemens Hammacher authored
This is a reland of bf3d7b9a Original change's description: > [wasm] Store compile errors in CompilationState > > We are currently storing compilation errors in the individual > compilation units and pass it to the ErrorThrower during finishing. > This CL changes that to store errors on the CompilationState directly. > From there, it is propagated to the ErrorThrower in the compilation > state callback. > This removes more work from the finisher task and slims down the > WasmCompilationUnits. > > R=mstarzinger@chromium.org > > Bug: v8:8343, v8:7921 > Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9 > Reviewed-on: https://chromium-review.googlesource.com/c/1303720 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57091} Bug: v8:8343, v8:7921 Change-Id: Iaa5c89d224cb2bcfca2d12eba305413a9ad95618 Reviewed-on: https://chromium-review.googlesource.com/c/1304547 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57126}
-
- 29 Oct, 2018 6 commits
-
-
Maya Lekova authored
This reverts commit bf3d7b9a. Reason for revert: Breaks TSAN build, see https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/23248 Original change's description: > [wasm] Store compile errors in CompilationState > > We are currently storing compilation errors in the individual > compilation units and pass it to the ErrorThrower during finishing. > This CL changes that to store errors on the CompilationState directly. > From there, it is propagated to the ErrorThrower in the compilation > state callback. > This removes more work from the finisher task and slims down the > WasmCompilationUnits. > > R=mstarzinger@chromium.org > > Bug: v8:8343, v8:7921 > Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9 > Reviewed-on: https://chromium-review.googlesource.com/c/1303720 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57091} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: Id32c7337494a4749485adbcfcaae7b2331afea66 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8343, v8:7921 Reviewed-on: https://chromium-review.googlesource.com/c/1304544Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#57094}
-
Clemens Hammacher authored
We are currently storing compilation errors in the individual compilation units and pass it to the ErrorThrower during finishing. This CL changes that to store errors on the CompilationState directly. From there, it is propagated to the ErrorThrower in the compilation state callback. This removes more work from the finisher task and slims down the WasmCompilationUnits. R=mstarzinger@chromium.org Bug: v8:8343, v8:7921 Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9 Reviewed-on: https://chromium-review.googlesource.com/c/1303720Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57091}
-
Clemens Hammacher authored
The Counters are not specific to compilation units, they just happen to be used in WasmCompilationUnit::ExecuteCompilation. Remove it from the compilation unit and pass it explicitly where needed. This saves another field on the compilation units. R=titzer@chromium.org Bug: v8:8343 Change-Id: Iad4fd8ae23b022c237535503e0e805db7e67071a Reviewed-on: https://chromium-review.googlesource.com/c/1304297 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57083}
-
Clemens Hammacher authored
They are only needed in the async DecodeModule step. We can just store a raw pointer to the Counters there. R=mstarzinger@chromium.org Bug: v8:8238 Change-Id: I2b22008fc4cbf6f8f69c9d53822fdb5af7d638f6 Reviewed-on: https://chromium-review.googlesource.com/c/1303302 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57078}
-
Clemens Hammacher authored
See discussion after this CL: https://crrev.com/c/1297960 We want to avoid the link from NativeModule to WasmEngine to enforce encapsulation. If someone needs access to the WasmEngine, we should give them a direct pointer. R=titzer@chromium.org Bug: v8:8217 Change-Id: I5bb6f4bf9b56c43085786d7092151d51bd0ff3ca Reviewed-on: https://chromium-review.googlesource.com/c/1304433Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57076}
-
Clemens Hammacher authored
R=titzer@chromium.org Change-Id: Ib3b1cd479b42865420879bff9f1a83558585eb05 Reviewed-on: https://chromium-review.googlesource.com/c/1303301 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57072}
-
- 25 Oct, 2018 5 commits
-
-
Bill Budge authored
- Moves call to DeserializeNativeModule into SaveContext to avoid a crash in IsWasmCodegenAllowed. Bug: chromium:719172 Change-Id: Idd367824a325fc684f29e335b0c07e515f9fdad3 Reviewed-on: https://chromium-review.googlesource.com/c/1298375 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56997}
-
Clemens Hammacher authored
This uses the PIMPL idiom to hide the implementation of {CompilationState} while still allowing to call methods on {CompilationState} using the externally visible type. It also allows to pass the {CompilationState} in a unique_ptr without a custom deleter. R=ahaas@chromium.org, mstarzinger@chromium.org Bug: v8:8238 Change-Id: I5e842723270bc6bb36b605253e3e88103caec61a Reviewed-on: https://chromium-review.googlesource.com/c/1297956 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56996}
-
Clemens Hammacher authored
The {CompilationState} currently stores the {WasmEngine}, while the {NativeModule} only stores the {WasmCodeManager}. From a high-level view, this does not make much sense. The {NativeModule} belongs to exactly one {WasmEngine}, so that link should be stored there. We can then get to the {WasmCodeManager} from the {WasmEngine}. This change requires a refactoring of the {WasmCodeManagerTest} which created {WasmCodeManager}s independent of the {Isolate} and the {WasmEngine}. This is not supported any more. Note that in production, each {WasmEngine} owns exactly one {WasmCodeManager} and one {WasmMemoryTracker}, so testing that a {WasmMemoryTracker} can be shared by several {WasmCodeManager}s didn't make sense in the first place. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I582e698be35f97dbd38bf6e12eb7f8ee4fc1f0f2 Reviewed-on: https://chromium-review.googlesource.com/c/1297960 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56992}
-
Clemens Hammacher authored
This CL extracts some functionality out of the {PrepareAndStartCompile} step, in order to reuse that from the {AsyncStreamingProcessor}. We currently schedule a {PrepareAndStartCompile} task to get the same effect, and rely on the internal implementation to do the right thing. R=ahaas@chromium.org Bug: v8:8238 Change-Id: I43135fe488a5f72c09307ac955381c69b7987ec1 Reviewed-on: https://chromium-review.googlesource.com/c/1297321Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56983}
-
Clemens Hammacher authored
The flag was only there to tell whether the {AsyncCompileJob} needs to be kept alive. We already have this information in all the other fields of the {AsyncCompileJob}, thus remove it. R=ahaas@chromium.org Bug: v8:8238 Change-Id: I8d1d76ba8d622d1816c240e7a824ecf31c3b1ce5 Reviewed-on: https://chromium-review.googlesource.com/c/1297957Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56977}
-
- 24 Oct, 2018 2 commits
-
-
Clemens Hammacher authored
For implementing wasm GC we need to revisit all places where we hold WasmCode*. This CL reduces these places. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I869e3c1817a3b9a24ab6aa281c0688bdf890dd33 Reviewed-on: https://chromium-review.googlesource.com/c/1297951Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56942}
-
Clemens Hammacher authored
Because of ordering issues we didn't set the wire bytes on the {NativeModule} during {OnFinishedStream}. We then failed during instantiation when trying to read the import names from the wire bytes. This CL fixes this locally without much code churn. I plan to clean up the interaction between {AsyncCompileJob} and {AsyncStreamingProcessor} in a follow-up CL. R=ahaas@chromium.org Bug: chromium:898310 Change-Id: I06337a04ba380f87b803f325323208298d363f41 Reviewed-on: https://chromium-review.googlesource.com/c/1296467Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56938}
-
- 23 Oct, 2018 5 commits
-
-
Clemens Hammacher authored
When resetting the {unique_ptr} to the {CompilationState} in the {NativeModule}, what actually happens is that first the pointer stored in the {unique_ptr} is reset to {nullptr}, then the destructor is called. The destructor of {CompilationState} cancels and waits for background compile jobs. While doing so, background compile jobs still try to access the {unique_ptr} in the {NativeModule}. This CL fixes this race by splitting the shutdown in two steps: First, cancel and wait the background compile jobs, and only later reset the pointer. R=ahaas@chromium.org Bug: v8:8359 No-Tree-Checks: true Change-Id: Ifa3bdf3424dfd5a4712d33f8ca85f9382b1766a6 Reviewed-on: https://chromium-review.googlesource.com/c/1296486 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56913}
-
Clemens Hammacher authored
Background tasks are not throttled any more, so there is no need to restart background compile after finishing units. Background tasks will only stop if all compilation units have been processed. R=ahaas@chromium.org Change-Id: I2b28c079bf5847cd5eb4f65629b9aed89afa8d1e Reviewed-on: https://chromium-review.googlesource.com/c/1296477Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56909}
-
Clemens Hammacher authored
R=mstarzinger@chromium.org Bug: v8:8238 Change-Id: I93c9d2a643731766f15f4db1bf7647a85488a6d0 Reviewed-on: https://chromium-review.googlesource.com/c/1296454Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56906}
-
Clemens Hammacher authored
This is the last method which modified the Result after construction. Turn this into a named constructor instead. Drive-by: Replace a Result<bool> by VoidResult, since the bool is not used anywhere. R=mstarzinger@chromium.org Bug: v8:8238 Change-Id: I352e0687e99a90e6ad00587d6fdf388f68c9b60a Reviewed-on: https://chromium-review.googlesource.com/c/1296271 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56897}
-
Clemens Hammacher authored
Instead, create it when needed and pass it down to the actual compilation. This saves memory by making the WasmCompilationUnit smaller and will eventually allow us to implement the trap handler fallback correctly by using an updated ModuleEnv in background compilation and tier up. R=mstarzinger@chromium.org Bug: v8:5277, v8:8343 Change-Id: I0dc3a37fb88e54eb4822dc99d58ff024f4b2a367 Reviewed-on: https://chromium-review.googlesource.com/c/1293953 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56896}
-
- 19 Oct, 2018 3 commits
-
-
Clemens Hammacher authored
This method only recorded stats of the generated code object. Since both counters that are updated are thread-safe anyway, we can just update them from the background instead (during {ExecuteCompilation}). R=mstarzinger@chromium.org Bug: v8:7921 Change-Id: Ia6074be8339b100f328938136ecb10144fc79f12 Reviewed-on: https://chromium-review.googlesource.com/c/1291074 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56827}
-
Clemens Hammacher authored
And remove the TurboFan/Liftoff specific {FinishCompilation} implementations completely. Compilation errors are now stored in the {WasmCompilationUnit} directly as a {Result<WasmCode*>}. They are retrieved via {WasmCompilationUnit::ReportError}, which moves the error to the {ErrorThrower}. This prepares more changes to completely remove the {FinishCompilation} phase. R=titzer@chromium.org Bug: v8:7921 Change-Id: I4f9a6e919359aeab074880d0d38211500b76e4ec Reviewed-on: https://chromium-review.googlesource.com/c/1290975 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56826}
-
Clemens Hammacher authored
Previously, this was just a field on the WasmResult, which is not allowed according to the style guide. A special r-value accessor for the value is needed for the cases where the contained type is not copyable, e.g. unique_ptr. R=titzer@chromium.org Bug: v8:8238 Change-Id: Ia3c14c4c62c3c2e07f1dc4594f1bc9d1da88f91e Reviewed-on: https://chromium-review.googlesource.com/c/1290974 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56823}
-
- 12 Oct, 2018 2 commits
-
-
Bill Budge authored
- Adds embedder callback to notify fully tiered compilation is finished, returning a WasmCompiledModule for serialization. - Adds function to pass previously compiled bytes into WASM streaming compilation, for deserialization. - Plumbs this API through StreamingDecoder. Bug: chromium:719172 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ibe376f3a8ccfa90fda730ef4ff6628a1532da45c Reviewed-on: https://chromium-review.googlesource.com/c/1252884Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#56617}
-
Clemens Hammacher authored
LockGuard is mostly used with Mutex. Since both are defined outside the internal namespace, we often have to write {base::LockGuard<base::Mutex>}. This CL shortens this to {base::MutexGuard} across the code base R=mlippautz@chromium.org Bug: v8:8238 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I020d5933b73aafb98c4b72e3bb2dfd07c979ba73 Reviewed-on: https://chromium-review.googlesource.com/c/1278796Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56612}
-
- 10 Oct, 2018 2 commits
-
-
Ben L. Titzer authored
Now that import wrappers are no longer specialized to an index, they can be cached in the native module, keyed by (WasmImportCallKind, FunctionSig). This saves instantiation time and also fixes a (slow) memory leak. R=mstarzinger@chromium.org Change-Id: I5197bbfae79d6e811a01289b990db445373eea6c Reviewed-on: https://chromium-review.googlesource.com/c/1270943 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56526}
-
Ben L. Titzer authored
This CL refactors the implementation of WASM->JS import wrappers in order to make the wrapper code shareable. Instead of specializing to the import index, we use a tuple as the object ref in the both the import and indirect tables. The tuple allows the wrapper code to load both the calling instance and the target callable, rather than relying on code specialization. This requires some tricky codegen machinery, because WASM call descriptors expect an instance argument in a given register, yet the wrappers receive a tuple, the code generator must generate a prologue that loads the instance (and the callable), since it is not possible to express this at the graph level. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: Id67e307f7f5089e776f5439a53b5aee4b76934b6 Reviewed-on: https://chromium-review.googlesource.com/c/1268237 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56520}
-
- 01 Oct, 2018 1 commit
-
-
Aseem Garg authored
For wasm modules with non-absolute sourceMappingURL, the source needs to be empty so that devtools can look for the source map at the origin of the module. R=clemensh@chromium.org,adamk@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I74c40addc1a7cb1be0442e9f2b272590c0b81f60 Reviewed-on: https://chromium-review.googlesource.com/1250402 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56326}
-
- 25 Sep, 2018 3 commits
-
-
Ben L. Titzer authored
For WASM import calls to JSFunctions where the arity is mismatched, we currently generate code that inlines the formal parameter count of the target function as a constant in a call to the arguments adapter. This CL changes this to generate code that loads the formal parameter count from the function at runtime in order to permit more sharing later. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: I5cce97fc338f6468f9d42d48f5bc860b25fb7d73 Reviewed-on: https://chromium-review.googlesource.com/1243108 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56220}
-
Andreas Haas authored
The lifetime of the AsyncCompileJob does not depend on the lifetime of the stream which feeds data into it. Multiple checks guarantee that the AsyncCompileJob still exists when the stream wants to call it. With this CL we add an additional level of defense to make sure that streaming does not continue after the AsyncCompileJob got destructed. It is not clear if this CL fixes the bug referenced below. However, the crashes there could be caused when streaming accesses the AsyncCompileJob after it got destructed already. I was not able though to find a scenario where this is possible. R=clemensh@chromium.org Bug: chromium:888170 Change-Id: Id5c6cc34842735a3adaf3e09c57cbe923cfc2630 Reviewed-on: https://chromium-review.googlesource.com/1241961 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56213}
-
Ben L. Titzer authored
The WASM engine compiles per-import wrappers for callables imported into a WASM instance that have one of a number of different shapes, depending on the type of the imported function and whether there is a signature match. This CL introduces an enum with a value for each case in preparation for introducing a per-kind cache. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: If9b7355ff7c57a329c096f93f3624bc3d6c74e3f Reviewed-on: https://chromium-review.googlesource.com/1243045 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56210}
-
- 24 Sep, 2018 1 commit
-
-
Ben L. Titzer authored
Neither the native module nor the trap handler flag are needed to compile JS to WASM wrappers. R=clemensh@chromium.org Change-Id: I46770d26e4063a6efbcaef55bebab5e1a131a0e8 Reviewed-on: https://chromium-review.googlesource.com/1238506 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56159}
-
- 21 Sep, 2018 1 commit
-
-
Michael Starzinger authored
This also makes the {AddCodeCopy} method more specific to only apply to import wrappers, otherwise the use of {set_code} would be unprotected. R=clemensh@chromium.org BUG=v8:8015 Change-Id: I62561560f57e4cc235a338c0e769e50ff55ec42d Reviewed-on: https://chromium-review.googlesource.com/1238477Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56137}
-