New issue
Advanced search Search tips

Issue 862123 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Share js-to-wasm wrappers inside the same isolate

Project Member Reported by clemensh@chromium.org, Jul 10

Issue description

Now that 860491 is fixed (Share code for same-signature js-to-wasm wrappers), we can work towards sharing them isolate-wide.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 10

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

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 12

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

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 18

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

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 17

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

Sign in to add a comment