Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(667)

Issue 2284683005: [wasm] Use weak reference for wasm deopt data. (Closed)

Created:
4 years, 3 months ago by Mircea Trofin
Modified:
4 years, 3 months ago
Reviewers:
gdeepti, bradnelson, bradn
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[wasm] Use weak reference for wasm deopt data. This unblocks moving off having to hold on to a compiled module template. Once we don't have the template, when we have a single instance, the instance and wasm module share the same compiled code. We will want to clear that code off instance-specific stuff, when the instance is unreferenced and should be GC-ed (stuff like the instance heap, for instance). However, the deopt data will maintain a strong reference, blocking the GC: the module object strongly references the compiled code, which strongly references the instance object through the deopt data. This change addresses that by making that last reference weak. BUG=v8:5316 Committed: https://crrev.com/b9eb9ee779c1b5cfa464a10f2c5ba6e16524bbae Cr-Commit-Position: refs/heads/master@{#38990}

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+45 lines, -22 lines) Patch
M src/frames.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M src/runtime/runtime-wasm.cc View 1 chunk +5 lines, -4 lines 0 comments Download
M src/wasm/wasm-module.h View 1 chunk +7 lines, -0 lines 0 comments Download
M src/wasm/wasm-module.cc View 4 chunks +31 lines, -15 lines 2 comments Download

Messages

Total messages: 19 (10 generated)
Mircea Trofin
PTAL
4 years, 3 months ago (2016-08-28 03:43:54 UTC) #5
bradnelson
https://codereview.chromium.org/2284683005/diff/1/src/wasm/wasm-module.cc File src/wasm/wasm-module.cc (right): https://codereview.chromium.org/2284683005/diff/1/src/wasm/wasm-module.cc#newcode147 src/wasm/wasm-module.cc:147: Object* GetOwningWasmInstance(Object* undefined, Code* code) { Why pass undefined ...
4 years, 3 months ago (2016-08-29 19:09:48 UTC) #8
Mircea Trofin
https://codereview.chromium.org/2284683005/diff/1/src/wasm/wasm-module.cc File src/wasm/wasm-module.cc (right): https://codereview.chromium.org/2284683005/diff/1/src/wasm/wasm-module.cc#newcode147 src/wasm/wasm-module.cc:147: Object* GetOwningWasmInstance(Object* undefined, Code* code) { On 2016/08/29 19:09:48, ...
4 years, 3 months ago (2016-08-29 19:12:22 UTC) #9
bradn
I suppose. Ok. lgtm
4 years, 3 months ago (2016-08-29 19:22:38 UTC) #11
bradnelson
lgtm from right account
4 years, 3 months ago (2016-08-29 19:24:09 UTC) #12
bradnelson
lgtm from right account
4 years, 3 months ago (2016-08-29 19:24:11 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2284683005/1
4 years, 3 months ago (2016-08-29 19:49:21 UTC) #15
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 3 months ago (2016-08-29 20:13:35 UTC) #17
commit-bot: I haz the power
4 years, 3 months ago (2016-08-29 20:13:59 UTC) #19
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/b9eb9ee779c1b5cfa464a10f2c5ba6e16524bbae
Cr-Commit-Position: refs/heads/master@{#38990}

Powered by Google App Engine
This is Rietveld 408576698