[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and dynamic linking by allowing additional space to be filled with an "undefined" function signature.
BUG=v8:5044
LOG=N
TEST=None
R=mtrofin@chromium.org,bradnelson@chromium.org
Committed: https://crrev.com/d0b8e7fb5416b19252a6568c032f621fd2072a38
Cr-Commit-Position: refs/heads/master@{#37159}
Description was changed from ========== [wasm] Add a flag to gate experimental support for dynamic ...
4 years, 6 months ago
(2016-06-07 22:06:14 UTC)
#1
Description was changed from
==========
[wasm] Add a flag to gate experimental support for dynamic code loading and
JITing.
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by pre-allocating space for wasm functions and modules to be
linked in.
BUG=5044
==========
to
==========
[wasm] Add a flag to gate experimental support for dynamic code loading and
JITing.
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by pre-allocating space for wasm functions and modules to be
linked in.
BUG=5044
==========
Description was changed from ========== [wasm] Add a flag to gate experimental support for dynamic ...
4 years, 6 months ago
(2016-06-14 01:53:07 UTC)
#3
Description was changed from
==========
[wasm] Add a flag to gate experimental support for dynamic code loading and
JITing.
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by pre-allocating space for wasm functions and modules to be
linked in.
BUG=5044
==========
to
==========
[wasm] Add a flag to gate experimental support for dynamic code loading and
JITing.
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by pre-allocating space for wasm functions and modules to be
linked in.
BUG=5044
LOG=N
TEST=None
R=titzer@chromium.org, ahaas@chromium.org
==========
Description was changed from ========== [wasm] Add a flag to gate experimental support for dynamic ...
4 years, 6 months ago
(2016-06-14 01:56:49 UTC)
#5
Description was changed from
==========
[wasm] Add a flag to gate experimental support for dynamic code loading and
JITing.
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by pre-allocating space for wasm functions and modules to be
linked in.
BUG=5044
LOG=N
TEST=None
R=titzer@chromium.org, ahaas@chromium.org
==========
to
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=5044
LOG=N
TEST=None
R=titzer@chromium.org, ahaas@chromium.org
==========
https://codereview.chromium.org/2049513003/diff/1/src/compiler/wasm-compiler.cc File src/compiler/wasm-compiler.cc (right): https://codereview.chromium.org/2049513003/diff/1/src/compiler/wasm-compiler.cc#newcode1940 src/compiler/wasm-compiler.cc:1940: module_->instance->padded_entries); On 2016/06/14 20:58:05, titzer wrote: > On 2016/06/14 ...
4 years, 6 months ago
(2016-06-14 21:00:26 UTC)
#9
https://codereview.chromium.org/2049513003/diff/1/src/compiler/wasm-compiler.cc
File src/compiler/wasm-compiler.cc (right):
https://codereview.chromium.org/2049513003/diff/1/src/compiler/wasm-compiler....
src/compiler/wasm-compiler.cc:1940: module_->instance->padded_entries);
On 2016/06/14 20:58:05, titzer wrote:
> On 2016/06/14 02:02:46, bradn wrote:
> > Hey Ritesh.
> > Actually this isn't quite right.
> > We don't want to add extra runtime cost to check for an invalid signature.
> > Instead, we should have it thunk out to something that traps.
>
> Agree.
Actually since it can't run (since we don't know the caller signature will
match), we should just lean on the signature mismatch exception instead.
(Which keeps the cost / callsite the same)
ritesht
There is now only one run-time check for whether the index is in bounds or ...
4 years, 6 months ago
(2016-06-15 21:31:06 UTC)
#10
There is now only one run-time check for whether the index is in bounds or not.
An 'invalid function' trap is generated if a call is made into the default
section of the indirect function table.
bradn
https://codereview.chromium.org/2049513003/diff/20001/src/compiler/wasm-compiler.cc File src/compiler/wasm-compiler.cc (right): https://codereview.chromium.org/2049513003/diff/20001/src/compiler/wasm-compiler.cc#newcode1935 src/compiler/wasm-compiler.cc:1935: int indirect_table_size = Can we move the computation of ...
4 years, 6 months ago
(2016-06-16 08:00:20 UTC)
#11
Added a field that specifies the number of entries padded to the indirect function table.
4 years, 6 months ago
(2016-06-21 17:36:41 UTC)
#12
Added a field that specifies the number of entries padded to the indirect
function table.
bradn
https://codereview.chromium.org/2049513003/diff/120001/test/mjsunit/wasm/default-func-call.js File test/mjsunit/wasm/default-func-call.js (right): https://codereview.chromium.org/2049513003/diff/120001/test/mjsunit/wasm/default-func-call.js#newcode51 test/mjsunit/wasm/default-func-call.js:51: assertTraps(kTrapFuncSigMismatch, "module.exports.main(2, 12, 33)"); Maybe make this just test ...
4 years, 6 months ago
(2016-06-21 17:42:37 UTC)
#13
lgtm with those fixes. https://codereview.chromium.org/2049513003/diff/120001/test/mjsunit/wasm/default-func-call.js File test/mjsunit/wasm/default-func-call.js (right): https://codereview.chromium.org/2049513003/diff/120001/test/mjsunit/wasm/default-func-call.js#newcode16 test/mjsunit/wasm/default-func-call.js:16: builder.addPad(512); But how about we ...
4 years, 6 months ago
(2016-06-21 18:43:02 UTC)
#14
Description was changed from ========== [wasm] Support undefined indirect table entries, behind a flag. Add ...
4 years, 6 months ago
(2016-06-21 18:45:18 UTC)
#15
Description was changed from
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=5044
LOG=N
TEST=None
R=titzer@chromium.org, ahaas@chromium.org
==========
to
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=v8:5044
LOG=N
TEST=None
R=mtrofin@chromium.org,bradnelson@chromium.org
==========
Replaced all instances of "i++" with "++i" in the wasm code. Fixed the casting of ...
4 years, 6 months ago
(2016-06-21 22:25:47 UTC)
#22
Replaced all instances of "i++" with "++i" in the wasm code.
Fixed the casting of the table sizes.
bradn
Thought we said those fixes would be a different cl.
4 years, 6 months ago
(2016-06-21 22:27:52 UTC)
#23
Thought we said those fixes would be a different cl.
ritesht
Fixed casting and formatting https://codereview.chromium.org/2049513003/diff/200001/src/wasm/wasm-module.cc File src/wasm/wasm-module.cc (right): https://codereview.chromium.org/2049513003/diff/200001/src/wasm/wasm-module.cc#newcode155 src/wasm/wasm-module.cc:155: i < static_cast<uint32_t>(module->function_table.size()); I have ...
4 years, 6 months ago
(2016-06-21 23:16:33 UTC)
#24
On 2016/06/21 23:16:33, ritesht wrote: > Fixed casting and formatting > > https://codereview.chromium.org/2049513003/diff/200001/src/wasm/wasm-module.cc > File ...
4 years, 6 months ago
(2016-06-21 23:55:45 UTC)
#25
On 2016/06/21 23:16:33, ritesht wrote:
> Fixed casting and formatting
>
> https://codereview.chromium.org/2049513003/diff/200001/src/wasm/wasm-module.cc
> File src/wasm/wasm-module.cc (right):
>
>
https://codereview.chromium.org/2049513003/diff/200001/src/wasm/wasm-module.c...
> src/wasm/wasm-module.cc:155: i <
> static_cast<uint32_t>(module->function_table.size());
> I have to cast this as the "set" function requires an int32.
LGTM, assuming adding "const" where previously noted, and assuming separate CL
for the
cleanup for increments and the uninitialized length parameter (that turns out
isn't needed to start
with, and we agreed to remove)
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/17715)
4 years, 6 months ago
(2016-06-22 00:39:33 UTC)
#34
Description was changed from ========== [wasm] Support undefined indirect table entries, behind a flag. Add ...
4 years, 6 months ago
(2016-06-22 00:52:05 UTC)
#38
Message was sent while issue was closed.
Description was changed from
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=v8:5044
LOG=N
TEST=None
R=mtrofin@chromium.org,bradnelson@chromium.org
==========
to
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=v8:5044
LOG=N
TEST=None
R=mtrofin@chromium.org,bradnelson@chromium.org
==========
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 6 months ago
(2016-06-22 00:52:06 UTC)
#39
Message was sent while issue was closed.
Committed patchset #12 (id:220001)
commit-bot: I haz the power
Description was changed from ========== [wasm] Support undefined indirect table entries, behind a flag. Add ...
4 years, 6 months ago
(2016-06-22 00:53:38 UTC)
#40
Message was sent while issue was closed.
Description was changed from
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=v8:5044
LOG=N
TEST=None
R=mtrofin@chromium.org,bradnelson@chromium.org
==========
to
==========
[wasm] Support undefined indirect table entries, behind a flag.
Add a flag to gate experimental support for dynamic code loading and JITing (at
runtime in a wasm module).
Enhancing functionality of the indirect function table to support JITing and
dynamic linking by allowing additional space to be filled with an "undefined"
function signature.
BUG=v8:5044
LOG=N
TEST=None
R=mtrofin@chromium.org,bradnelson@chromium.org
Committed: https://crrev.com/d0b8e7fb5416b19252a6568c032f621fd2072a38
Cr-Commit-Position: refs/heads/master@{#37159}
==========
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/d0b8e7fb5416b19252a6568c032f621fd2072a38 Cr-Commit-Position: refs/heads/master@{#37159}
4 years, 6 months ago
(2016-06-22 00:53:39 UTC)
#41
Issue 2049513003: [wasm] Support undefined indirect table entries, behind a flag.
(Closed)
Created 4 years, 6 months ago by ritesht
Modified 4 years, 6 months ago
Reviewers: bradnelson, Mircea Trofin, bradn, ahaas, dehrenberg, adamk
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Comments: 21