Now that 860491 is fixed (Share code for same-signature js-to-wasm wrappers), we can work towards sharing them isolate-wide.
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/3839e88320fa579d9f8b82df653077cf495b586f commit 3839e88320fa579d9f8b82df653077cf495b586f Author: Clemens Hammacher <clemensh@chromium.org> Date: Tue Jul 10 16:20:37 2018 [wasm] Load jump table start from the instance This makes js-to-wasm wrappers module-independent, so that we can eventually share them isolate-wide. R=mstarzinger@chromium.org Bug: chromium:862123 Change-Id: I3d9571cf247b95330ffb17f41901278a5dfacca0 Reviewed-on: https://chromium-review.googlesource.com/1131187 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54363} [modify] https://crrev.com/3839e88320fa579d9f8b82df653077cf495b586f/src/compiler/wasm-compiler.cc [modify] https://crrev.com/3839e88320fa579d9f8b82df653077cf495b586f/src/compiler/wasm-compiler.h [modify] https://crrev.com/3839e88320fa579d9f8b82df653077cf495b586f/src/wasm/wasm-objects-inl.h [modify] https://crrev.com/3839e88320fa579d9f8b82df653077cf495b586f/src/wasm/wasm-objects.cc [modify] https://crrev.com/3839e88320fa579d9f8b82df653077cf495b586f/src/wasm/wasm-objects.h
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694 commit a119f9cac322071ce99dc5e7eafa0ca0a3c7e694 Author: Clemens Hammacher <clemensh@chromium.org> Date: Thu Jul 12 12:34:28 2018 [wasm] Refactor SignatureMap to use unordered_map An unordered_map typically provides better performance. Instead of a compare function, we now need a hash function and equality defined on {Signature<T>}. R=mstarzinger@chromium.org Bug: chromium:862123 Change-Id: Iba71030f91949d7453740c884de1d8a4f921c618 Reviewed-on: https://chromium-review.googlesource.com/1131182 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54404} [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/asmjs/asm-parser.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/asmjs/asm-parser.h [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/signature.h [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/module-compiler.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/module-decoder.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/signature-map.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/signature-map.h [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/value-type.h [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/wasm-debug.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/wasm-interpreter.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/wasm-module-builder.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/wasm-module-builder.h [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/src/wasm/wasm-objects.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/test/cctest/wasm/wasm-run-utils.cc [modify] https://crrev.com/a119f9cac322071ce99dc5e7eafa0ca0a3c7e694/test/cctest/wasm/wasm-run-utils.h
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/a3a2f839787d4f4036568a3471fa4628bfffaec5 commit a3a2f839787d4f4036568a3471fa4628bfffaec5 Author: Clemens Hammacher <clemensh@chromium.org> Date: Wed Jul 18 19:55:20 2018 [wasm] Switch thread-in-wasm flag directly Avoid the C-call to switch the flag, just store to the address directly. Since js-to-wasm wrappers are still isolate dependent, we just store the address of the thread-local flag in the isolate (in ThreadLocalTop) and update it if threads are switched. R=ahaas@chromium.org, mstarzinger@chromium.org Bug: chromium:862123, v8:5277 Change-Id: I9e8a40094f11a8b3ba6701dfa7fa026a2d052cb1 Reviewed-on: https://chromium-review.googlesource.com/1136299 Commit-Queue: 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@{#54531} [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/compiler/wasm-compiler.cc [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/external-reference.cc [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/external-reference.h [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/isolate.cc [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/isolate.h [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/trap-handler/trap-handler.h [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/wasm/wasm-external-refs.cc [modify] https://crrev.com/a3a2f839787d4f4036568a3471fa4628bfffaec5/src/wasm/wasm-external-refs.h
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/279cbe86daedb8d4fefa3e4fe153cfd41c94c476 commit 279cbe86daedb8d4fefa3e4fe153cfd41c94c476 Author: Clemens Hammacher <clemensh@chromium.org> Date: Mon Sep 17 14:01:30 2018 [wasm] Remove unneeded js-to-wasm parameter js-to-wasm wrappers check whether trap handlers are enabled process-wide, but are independent of their actual usage in the current instance. Thus remove this unneeded parameter. R=mstarzinger@chromium.org Bug: chromium:862123 Change-Id: I3793213864568b4e26eb3414239033491e4539f5 Reviewed-on: https://chromium-review.googlesource.com/1226974 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55961} [modify] https://crrev.com/279cbe86daedb8d4fefa3e4fe153cfd41c94c476/src/compiler/wasm-compiler.cc [modify] https://crrev.com/279cbe86daedb8d4fefa3e4fe153cfd41c94c476/src/compiler/wasm-compiler.h [modify] https://crrev.com/279cbe86daedb8d4fefa3e4fe153cfd41c94c476/src/wasm/module-compiler.cc [modify] https://crrev.com/279cbe86daedb8d4fefa3e4fe153cfd41c94c476/test/cctest/wasm/wasm-run-utils.cc
Comment 1 by bugdroid1@chromium.org
, Jul 10