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

Issue 1200613002: VisitPersistentHandle should not call visitDOMWrapper

Created:
5 years, 6 months ago by haraken
Modified:
5 years, 5 months ago
CC:
arv+blink, blink-reviews, blink-reviews-bindings_chromium.org, vivekg_samsung, vivekg
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

VisitPersistentHandle should not call visitDOMWrapper It is not allowed to allocate a V8 object during VisitPersistentHandle. visitDOMWrapper can allocate a V8 object. This means that VisitPersistentHandle must not call visitDOMWrapper. This CL delays calling visitDOMWrapper to MajorGCWrapperVisitor::notifyFinished. BUG=

Patch Set 1 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -7 lines) Patch
M Source/bindings/core/v8/V8GCController.cpp View 4 chunks +17 lines, -7 lines 3 comments Download

Messages

Total messages: 17 (2 generated)
haraken
https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp File Source/bindings/core/v8/V8GCController.cpp (right): https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp#newcode292 Source/bindings/core/v8/V8GCController.cpp:292: ASSERT(!value->IsIndependent()); This CL is not correct. The access to ...
5 years, 6 months ago (2015-06-20 09:29:49 UTC) #2
jochen (gone - plz use gerrit)
https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp File Source/bindings/core/v8/V8GCController.cpp (right): https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp#newcode292 Source/bindings/core/v8/V8GCController.cpp:292: ASSERT(!value->IsIndependent()); On 2015/06/20 at 09:29:49, haraken wrote: > This ...
5 years, 6 months ago (2015-06-22 08:45:49 UTC) #3
haraken
On 2015/06/22 08:45:49, jochen wrote: > https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp > File Source/bindings/core/v8/V8GCController.cpp (right): > > https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp#newcode292 > ...
5 years, 6 months ago (2015-06-22 10:54:36 UTC) #4
jochen (gone - plz use gerrit)
On 2015/06/22 at 10:54:36, haraken wrote: > On 2015/06/22 08:45:49, jochen wrote: > > https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp ...
5 years, 6 months ago (2015-06-22 10:55:21 UTC) #5
jochen (gone - plz use gerrit)
On 2015/06/22 at 10:54:36, haraken wrote: > On 2015/06/22 08:45:49, jochen wrote: > > https://codereview.chromium.org/1200613002/diff/1/Source/bindings/core/v8/V8GCController.cpp ...
5 years, 6 months ago (2015-06-22 10:55:21 UTC) #6
haraken
On 2015/06/22 10:55:21, jochen wrote: > On 2015/06/22 at 10:54:36, haraken wrote: > > On ...
5 years, 6 months ago (2015-06-22 11:07:54 UTC) #7
jochen (gone - plz use gerrit)
On 2015/06/22 at 11:07:54, haraken wrote: > On 2015/06/22 10:55:21, jochen wrote: > > On ...
5 years, 6 months ago (2015-06-23 14:51:36 UTC) #8
haraken
On 2015/06/23 14:51:36, jochen wrote: > On 2015/06/22 at 11:07:54, haraken wrote: > > On ...
5 years, 6 months ago (2015-06-23 15:09:50 UTC) #9
haraken
On 2015/06/23 14:51:36, jochen wrote: > On 2015/06/22 at 11:07:54, haraken wrote: > > On ...
5 years, 6 months ago (2015-06-23 15:09:52 UTC) #10
jochen (gone - plz use gerrit)
On 2015/06/23 at 15:09:52, haraken wrote: > On 2015/06/23 14:51:36, jochen wrote: > > On ...
5 years, 6 months ago (2015-06-23 15:11:14 UTC) #11
haraken
On 2015/06/23 15:11:14, jochen wrote: > On 2015/06/23 at 15:09:52, haraken wrote: > > On ...
5 years, 5 months ago (2015-06-30 04:48:14 UTC) #12
jochen (gone - plz use gerrit)
On 2015/06/30 at 04:48:14, haraken wrote: > On 2015/06/23 15:11:14, jochen wrote: > > On ...
5 years, 5 months ago (2015-06-30 08:12:20 UTC) #13
haraken
OK, now I understand the issue around here and can answer the question Jochen asked ...
5 years, 5 months ago (2015-07-08 02:38:09 UTC) #14
jsbell
Any chance this unblock https://codereview.chromium.org/931543002/ and https://codereview.chromium.org/924863003/ ? (I need to read it in more ...
5 years, 5 months ago (2015-07-08 17:16:45 UTC) #16
haraken
5 years, 5 months ago (2015-07-08 23:34:07 UTC) #17
On 2015/07/08 17:16:45, jsbell wrote:
> Any chance this unblock https://codereview.chromium.org/931543002/ and
> https://codereview.chromium.org/924863003/ ?
> 
> (I need to read it in more detail, just hoping...)

I cannot land https://codereview.chromium.org/931543002/ because we hit the
ASSERT when Blink fails at keeping the wrapper alive (this is a bug). Those
Blink bugs should be fixed and the ASSERT should be enabled. My current plan is
to fix the issue by shipping Oilpan.

The fact that https://codereview.chromium.org/924863003/ has been blocked by
https://codereview.chromium.org/931543002/ implies that
https://codereview.chromium.org/924863003/ is also failing at keeping the
wrapper alive. (On the other hand, the current custom binding in
IDBBindingUtilities seems to be doing a correct thing to keep the wrapper
alive.) In that sense, I think a right thing to do here is not land
https://codereview.chromium.org/924863003/.

[SetWrapperReferenceTo] is not a way to "create the target wrapper and keep it
alive". [SetWrapperReferenceTo] is a way to "keep the target wrapper alive if
the target wrapper exists". It is not a responsibility of
[SetWrapperReferenceFrom/To] to create the wrapper :)

Powered by Google App Engine
This is Rietveld 408576698