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

Issue 429453010: Drop V8RecursionScope dependency on ExecutionContext (Closed)

Created:
6 years, 4 months ago by jsbell
Modified:
6 years, 3 months ago
CC:
blink-reviews, arv+blink, alecflett, sof, eae+blinkwatch, abarth-chromium, blink-reviews-dom_chromium.org, dglazkov+blink, blink-reviews-bindings_chromium.org, cmumford, dgrogan, jsbell+idb_chromium.org, rwlbuis
Project:
blink
Visibility:
Public.

Description

Drop V8RecursionScope dependency on ExecutionContext To support using V8RecursionScope in other places, drop the dependency on ExecutionContext in favor of just an v8::Isolate. This requires moving IDBPendingTransactionMonitor from a supplement on the context to per-isolate data. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181946

Patch Set 1 #

Patch Set 2 : Rebased on crrev.com/555633002 #

Patch Set 3 : Rebased #

Patch Set 4 : hacky but works #

Patch Set 5 : Introduce dispose() helper #

Patch Set 6 : Introduce V8PerIsolateData::willBeDestroyed #

Patch Set 7 : Tidy #

Patch Set 8 : Factor out microtask fix/tests #

Total comments: 12

Patch Set 9 : Incorporate review feedback #

Patch Set 10 : Rebased #

Total comments: 2

Patch Set 11 : Reorder cleanup methods per haraken #

Unified diffs Side-by-side diffs Delta from patch set Stats (+67 lines, -69 lines) Patch
M Source/bindings/core/v8/ModuleProxy.h View 1 2 2 chunks +5 lines, -3 lines 0 comments Download
M Source/bindings/core/v8/ModuleProxy.cpp View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M Source/bindings/core/v8/V8PerIsolateData.h View 1 2 3 4 5 6 7 8 9 4 chunks +8 lines, -1 line 0 comments Download
M Source/bindings/core/v8/V8PerIsolateData.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +19 lines, -3 lines 0 comments Download
M Source/bindings/core/v8/V8RecursionScope.h View 1 2 3 4 5 6 7 8 2 chunks +1 line, -3 lines 0 comments Download
M Source/bindings/core/v8/V8RecursionScope.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/V8ScriptRunner.cpp View 1 3 chunks +3 lines, -3 lines 0 comments Download
M Source/bindings/core/v8/WorkerScriptController.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -1 line 0 comments Download
M Source/bindings/modules/v8/ModuleBindingsInitializer.cpp View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -2 lines 0 comments Download
M Source/modules/indexeddb/IDBPendingTransactionMonitor.h View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -13 lines 0 comments Download
M Source/modules/indexeddb/IDBPendingTransactionMonitor.cpp View 1 2 3 4 5 6 7 8 2 chunks +1 line, -27 lines 0 comments Download
M Source/modules/indexeddb/IDBTransaction.cpp View 1 2 3 4 5 6 7 8 3 chunks +2 lines, -2 lines 0 comments Download
M Source/modules/indexeddb/IDBTransactionTest.cpp View 1 2 3 4 5 6 7 8 4 chunks +7 lines, -3 lines 0 comments Download
M Source/modules/indexeddb/InspectorIndexedDBAgent.cpp View 1 2 3 4 5 6 7 8 3 chunks +2 lines, -2 lines 0 comments Download
M Source/web/WebKit.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 26 (5 generated)
jsbell
Now rebased on top of http://crrev.com/555633002 to make this easier to understand.
6 years, 3 months ago (2014-09-09 00:08:12 UTC) #1
haraken
One way to solve the issue would be to define: void IDBPendingTransactionMonitor::dispose() { m_transactions.clear(); } ...
6 years, 3 months ago (2014-09-09 04:13:37 UTC) #3
jsbell
Latest upload is terribly hacky but works, and at least it demonstrates one possible direction. ...
6 years, 3 months ago (2014-09-09 23:35:21 UTC) #4
haraken
On 2014/09/09 23:35:21, jsbell wrote: > Latest upload is terribly hacky but works, and at ...
6 years, 3 months ago (2014-09-10 03:36:22 UTC) #5
Mads Ager (chromium)
On 2014/09/09 23:35:21, jsbell wrote: > Latest upload is terribly hacky but works, and at ...
6 years, 3 months ago (2014-09-10 07:21:26 UTC) #6
jsbell
On 2014/09/10 03:36:22, haraken wrote: > I think a slightly better fix would be: > ...
6 years, 3 months ago (2014-09-10 18:03:44 UTC) #7
jsbell
On 2014/09/10 07:21:26, Mads Ager (chromium) wrote: > > What this says is that in ...
6 years, 3 months ago (2014-09-10 18:06:53 UTC) #8
jsbell
Prospective chain of patches is: 1. https://codereview.chromium.org/555633002 - ExecutionContext->ScriptState in IDBTransaction ctor 2. https://codereview.chromium.org/429453010 (this ...
6 years, 3 months ago (2014-09-10 21:41:45 UTC) #10
haraken
LGTM with comments! https://codereview.chromium.org/429453010/diff/140001/Source/bindings/core/v8/V8PerIsolateData.cpp File Source/bindings/core/v8/V8PerIsolateData.cpp (right): https://codereview.chromium.org/429453010/diff/140001/Source/bindings/core/v8/V8PerIsolateData.cpp#newcode126 Source/bindings/core/v8/V8PerIsolateData.cpp:126: // prior to thread detach. thread ...
6 years, 3 months ago (2014-09-11 01:18:54 UTC) #11
haraken
> Prospective chain of patches is: > > 1. https://codereview.chromium.org/555633002 - ExecutionContext->ScriptState in > IDBTransaction ...
6 years, 3 months ago (2014-09-11 01:21:04 UTC) #12
jsbell
Thanks! What do you think about the placement of the willBeDestroyed call now? https://codereview.chromium.org/429453010/diff/140001/Source/bindings/core/v8/V8PerIsolateData.cpp File ...
6 years, 3 months ago (2014-09-11 22:14:52 UTC) #13
jsbell
Oops, collides with https://codereview.chromium.org/559363002
6 years, 3 months ago (2014-09-11 22:20:07 UTC) #14
haraken
Still LGTM https://codereview.chromium.org/429453010/diff/180001/Source/bindings/core/v8/WorkerScriptController.cpp File Source/bindings/core/v8/WorkerScriptController.cpp (right): https://codereview.chromium.org/429453010/diff/180001/Source/bindings/core/v8/WorkerScriptController.cpp#newcode153 Source/bindings/core/v8/WorkerScriptController.cpp:153: V8PerIsolateData::willBeDestroyed(m_isolate); Nit: I'd put this after line ...
6 years, 3 months ago (2014-09-11 23:21:19 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/429453010/200001
6 years, 3 months ago (2014-09-12 22:53:13 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: blink_presubmit on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/blink_presubmit/builds/15100)
6 years, 3 months ago (2014-09-12 23:01:35 UTC) #19
jsbell
https://codereview.chromium.org/429453010/diff/180001/Source/bindings/core/v8/WorkerScriptController.cpp File Source/bindings/core/v8/WorkerScriptController.cpp (right): https://codereview.chromium.org/429453010/diff/180001/Source/bindings/core/v8/WorkerScriptController.cpp#newcode153 Source/bindings/core/v8/WorkerScriptController.cpp:153: V8PerIsolateData::willBeDestroyed(m_isolate); On 2014/09/11 23:21:18, haraken wrote: > > Nit: ...
6 years, 3 months ago (2014-09-12 23:27:48 UTC) #20
jsbell
adamk@ - can you rs as Source/web OWNER?
6 years, 3 months ago (2014-09-12 23:28:16 UTC) #21
adamk
On 2014/09/12 at 23:28:16, jsbell wrote: > adamk@ - can you rs as Source/web OWNER? ...
6 years, 3 months ago (2014-09-12 23:32:04 UTC) #22
adamk
On 2014/09/12 at 23:32:04, adamk wrote: > On 2014/09/12 at 23:28:16, jsbell wrote: > > ...
6 years, 3 months ago (2014-09-12 23:40:40 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/429453010/200001
6 years, 3 months ago (2014-09-12 23:41:24 UTC) #25
commit-bot: I haz the power
6 years, 3 months ago (2014-09-13 00:00:49 UTC) #26
Message was sent while issue was closed.
Committed patchset #11 (id:200001) as 181946

Powered by Google App Engine
This is Rietveld 408576698