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

Issue 212893007: Amend PersistentValueMap. (Closed)

Created:
6 years, 9 months ago by vogelheim
Modified:
6 years, 9 months ago
Reviewers:
dcarney
CC:
v8-dev, Paweł Hajdan Jr.
Visibility:
Public.

Description

Amend PersistentValueMap: - Use the surrounding map (instead of Traits::Impl) for weak callback. - Provide for a fast reference to a mapped value. - Restructure Traits to accomondate for the first point above. [Why?] As discussed, I proceeded to replace Impl with the map. The problem I encountered with that version is that now the Traits class depends on itself: The weak-related methods require the map type in their signature. But the map type includes the Traits class and hence the Traits class method signatures depend on the specific Traits class. That makes them practically un-derivable: While you can derive a Traits class from another one, since the compiler now expects methods with a different signature. To accommodate, I pulled the dispose traits into the weak traits class. I also removed the Impl*/MapType* parameter from the Dispose call, since no implementation seems to need it. R=dcarney@chromium.org BUG= Committed: https://code.google.com/p/v8/source/detail?r=20326

Patch Set 1 : Re-upload after rebase. #

Total comments: 8

Patch Set 2 : Address feedback comments. #

Total comments: 4

Patch Set 3 : Address feedback comments, round 2. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+140 lines, -90 lines) Patch
M include/v8-util.h View 1 2 12 chunks +117 lines, -81 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 5 chunks +23 lines, -9 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
vogelheim
Please have a look. I'll update the dependent CLs shortly.
6 years, 9 months ago (2014-03-26 19:26:39 UTC) #1
dcarney
On 2014/03/26 19:26:39, vogelheim wrote: > Please have a look. I'll update the dependent CLs ...
6 years, 9 months ago (2014-03-27 07:45:12 UTC) #2
dcarney
https://codereview.chromium.org/212893007/diff/20001/include/v8-util.h File include/v8-util.h (right): https://codereview.chromium.org/212893007/diff/20001/include/v8-util.h#newcode256 include/v8-util.h:256: explicit PersistentValueReference(PersistentContainerValue value) expose copy constructor https://codereview.chromium.org/212893007/diff/20001/include/v8-util.h#newcode263 include/v8-util.h:263: * ...
6 years, 9 months ago (2014-03-27 07:45:22 UTC) #3
dcarney
i realize that everywhere we can kIsWeak, we will have a problem when we introduce ...
6 years, 9 months ago (2014-03-27 07:55:03 UTC) #4
vogelheim
https://codereview.chromium.org/212893007/diff/20001/include/v8-util.h File include/v8-util.h (right): https://codereview.chromium.org/212893007/diff/20001/include/v8-util.h#newcode256 include/v8-util.h:256: explicit PersistentValueReference(PersistentContainerValue value) On 2014/03/27 07:45:22, dcarney wrote: > ...
6 years, 9 months ago (2014-03-27 14:43:54 UTC) #5
vogelheim
On 2014/03/27 07:55:03, dcarney wrote: > i realize that everywhere we can kIsWeak, we will ...
6 years, 9 months ago (2014-03-27 14:45:09 UTC) #6
dcarney
https://codereview.chromium.org/212893007/diff/40001/include/v8-util.h File include/v8-util.h (right): https://codereview.chromium.org/212893007/diff/40001/include/v8-util.h#newcode45 include/v8-util.h:45: enum PersistentValueMapCallbackType { should be persistentcontainercallbacktype, since we'll want ...
6 years, 9 months ago (2014-03-27 16:36:11 UTC) #7
vogelheim
https://codereview.chromium.org/212893007/diff/40001/include/v8-util.h File include/v8-util.h (right): https://codereview.chromium.org/212893007/diff/40001/include/v8-util.h#newcode45 include/v8-util.h:45: enum PersistentValueMapCallbackType { On 2014/03/27 16:36:11, dcarney wrote: > ...
6 years, 9 months ago (2014-03-27 17:05:11 UTC) #8
marja
6 years, 9 months ago (2014-03-28 09:35:56 UTC) #9
Message was sent while issue was closed.
Committed patchset #3 manually as r20326 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698