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

Issue 23477061: Make objects embedded in optimized code weak. (Closed)

Created:
7 years, 3 months ago by ulan
Modified:
7 years, 2 months ago
CC:
v8-dev
Visibility:
Public.

Description

Make objects embedded in optimized code weak. This introduces a global weak hash table that maps objects embedded in optimized code to dependent code lists. Using this table we can deoptimize optimized code whenever a weak object embedded in the code dies. BUG=v8:2073 R=hpayer@chromium.org, mstarzinger@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=17102

Patch Set 1 : #

Patch Set 2 : Fix names #

Total comments: 16

Patch Set 3 : Address comments #

Patch Set 4 : Make weak_object_to_code_table methods private. #

Patch Set 5 : Rebase and fix weak object verification. #

Total comments: 6

Patch Set 6 : Rename to VerifyWeakEmbeddedObjectsInOptimizedCode and fix newlines. #

Patch Set 7 : Fix arm #

Unified diffs Side-by-side diffs Delta from patch set Stats (+375 lines, -83 lines) Patch
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 1 chunk +12 lines, -7 lines 0 comments Download
M src/factory.h View 1 2 3 4 2 chunks +4 lines, -1 line 0 comments Download
M src/factory.cc View 1 2 3 4 2 chunks +17 lines, -2 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M src/handles.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/handles.cc View 1 2 3 4 1 chunk +11 lines, -0 lines 0 comments Download
M src/heap.h View 1 2 3 4 5 6 8 chunks +34 lines, -7 lines 0 comments Download
M src/heap.cc View 1 2 3 4 5 6 3 chunks +30 lines, -1 line 0 comments Download
M src/heap-inl.h View 1 2 3 4 5 6 1 chunk +4 lines, -4 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 1 chunk +12 lines, -7 lines 0 comments Download
M src/incremental-marking.cc View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/mark-compact.h View 1 2 3 4 5 3 chunks +6 lines, -2 lines 0 comments Download
M src/mark-compact.cc View 1 2 3 4 5 6 12 chunks +55 lines, -14 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 3 4 5 6 1 chunk +12 lines, -7 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 5 chunks +54 lines, -4 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 chunks +62 lines, -7 lines 0 comments Download
M src/objects-debug.cc View 1 2 3 4 1 chunk +10 lines, -6 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 1 chunk +28 lines, -0 lines 0 comments Download
M src/objects-visiting-inl.h View 1 chunk +2 lines, -4 lines 0 comments Download
M src/serialize.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 2 chunks +13 lines, -10 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
ulan
Please take a look.
7 years, 3 months ago (2013-09-12 11:34:00 UTC) #1
Hannes Payer (out of office)
Already looking good... https://codereview.chromium.org/23477061/diff/25002/src/heap.h File src/heap.h (right): https://codereview.chromium.org/23477061/diff/25002/src/heap.h#newcode1889 src/heap.h:1889: What about? - Making weak_object_to_code, weak_object_to_code_address, ...
7 years, 2 months ago (2013-10-01 13:13:50 UTC) #2
ulan
Thank you, addressed comments. https://codereview.chromium.org/23477061/diff/25002/src/heap.h File src/heap.h (right): https://codereview.chromium.org/23477061/diff/25002/src/heap.h#newcode1889 src/heap.h:1889: On 2013/10/01 13:13:50, Hannes Payer ...
7 years, 2 months ago (2013-10-01 14:50:29 UTC) #3
Hannes Payer (out of office)
LGTM, a few renaming/reformatting nits https://codereview.chromium.org/23477061/diff/25002/src/mark-compact.cc File src/mark-compact.cc (right): https://codereview.chromium.org/23477061/diff/25002/src/mark-compact.cc#newcode433 src/mark-compact.cc:433: if (heap()->weak_embedded_maps_verification_enabled()) { On ...
7 years, 2 months ago (2013-10-02 12:21:47 UTC) #4
ulan
Renamed to VerifyWeakEmbeddedObjectsInOptimizedCode in new patchset. https://chromiumcodereview.appspot.com/23477061/diff/25002/src/mark-compact.cc File src/mark-compact.cc (right): https://chromiumcodereview.appspot.com/23477061/diff/25002/src/mark-compact.cc#newcode433 src/mark-compact.cc:433: if (heap()->weak_embedded_maps_verification_enabled()) { ...
7 years, 2 months ago (2013-10-02 12:36:48 UTC) #5
Hannes Payer (out of office)
And a test would be awesome.
7 years, 2 months ago (2013-10-02 12:42:30 UTC) #6
ulan
7 years, 2 months ago (2013-10-04 07:25:37 UTC) #7
Message was sent while issue was closed.
Committed patchset #7 manually as r17102 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698