v8/test
mtrofin 01f5af5157 [wasm] reuse the first compiled module.
This change avoids needing to keep around an unused compiled
module. Instead, the result of compiling the wasm bytes is
given to the first instance. The module object and that instance object
point to the same compiled module. Instances are, then, cloned from
the compiled module the module object points to. When an instance is
collected, we make sure that the module object still has a clone
available, and, if the last instance is GC-ed, we also reset the compiled
module so that it does not reference its heap, so that it (==heap) may
be collected.

This is achieved by linking the clones in a double-linked list and
registering a finalizer for each. When we create an instance, we tie it
in the front of the list, making the module object point to it (O(1)). When
the finalizer is called, we relink the list over the dying object (O(1)). The
costliest operation is finalizing the last instance, since we need to visit
all wasm functions and reset heap references.

BUG=v8:5316

Review-Url: https://codereview.chromium.org/2305903002
Cr-Commit-Position: refs/heads/master@{#39153}
2016-09-05 10:08:44 +00:00
..
benchmarks [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
cctest [turbofan] Nuke class types. 2016-09-05 09:19:16 +00:00
fuzzer [wasm] Pull in fresher fuzzer binaries. 2016-08-29 19:44:23 +00:00
inspector_protocol_parser_test [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
intl Expose getCanonicalLocales() for Intl object. 2016-08-18 23:27:23 +00:00
js-perf-test Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
memory [snapshot] support multiple contexts in the same snapshot. 2016-06-15 15:39:06 +00:00
message Remove duplicated code from comma-separated Expression parsing 2016-08-31 01:24:19 +00:00
mjsunit [wasm] reuse the first compiled module. 2016-09-05 10:08:44 +00:00
mozilla [test] Deprecate test data download for most test suites 2016-08-08 12:39:48 +00:00
preparser [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
promises-aplus Make test262 test runner check for which exception is thrown 2016-03-14 21:20:37 +00:00
simdjs [test] Deprecate test data download for most test suites 2016-08-08 12:39:48 +00:00
test262 Mark one more failing test262 test on the noi18n build 2016-09-01 20:59:02 +00:00
unittests [turbofan] Fold "boolean not"-like Selects into branches. 2016-09-05 07:02:36 +00:00
webkit [turbofan] Also inline into try blocks. 2016-08-29 11:27:06 +00:00
bot_default.gyp [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
bot_default.isolate [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
BUILD.gn [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
default.gyp [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
default.isolate [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
optimize_for_size.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
optimize_for_size.isolate [swarming] Roll luci-go/isolate to 5c67f7b670b5. 2016-01-19 17:03:56 +00:00
perf.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
perf.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00