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

Issue 123263005: Fix some out-of-line constant pool garbage collection bugs. (Closed)

Created:
6 years, 11 months ago by rmcilroy
Modified:
6 years, 11 months ago
Reviewers:
ulan
CC:
v8-dev
Visibility:
Public.

Description

Fix some out-of-line constant pool garbage collection bugs. This CL fixes some bugs in the out of line constant pool implementation when constant pools are GCed. Namely: - Push/Pop pp register in exit frames and VisitPointer on it to ensure it is updated if the ConstantPoolArray is moved by GC. - Mark pp as a SafePoint Register for optimized functions. - Ensure that StandardFrame::IterateExpressions also iterates over the constant pool pointer in the stackframe. - Fix calculation of last_ptr_offset in ConstantPoolArray body iterator. - Make ensure that CONSTANT_POOL_ARRAY_TYPE is a pointer object InstanceType. R=ulan@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=18473

Patch Set 1 #

Patch Set 2 : Fix other arches #

Total comments: 2

Patch Set 3 : Address comments #

Patch Set 4 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+68 lines, -17 lines) Patch
M src/arm/frames-arm.h View 1 chunk +7 lines, -2 lines 0 comments Download
M src/arm/frames-arm.cc View 1 1 chunk +7 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 chunks +12 lines, -4 lines 0 comments Download
M src/frames.h View 4 chunks +7 lines, -2 lines 0 comments Download
M src/frames.cc View 1 3 chunks +5 lines, -2 lines 0 comments Download
M src/ia32/frames-ia32.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/ia32/frames-ia32.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
src/mips/frames-mips.h View 1 1 chunk +1 line, -4 lines 0 comments Download
M src/mips/frames-mips.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 2 chunks +1 line, -1 line 0 comments Download
M src/objects.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/objects-visiting-inl.h View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/frames-x64.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/frames-x64.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
rmcilroy
Ulan, please review this CL.
6 years, 11 months ago (2014-01-03 18:19:27 UTC) #1
ulan
LGTM, good catches! https://codereview.chromium.org/123263005/diff/30001/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): https://codereview.chromium.org/123263005/diff/30001/src/arm/lithium-codegen-arm.cc#newcode983 src/arm/lithium-codegen-arm.cc:983: // Register pp always contains a ...
6 years, 11 months ago (2014-01-07 08:32:03 UTC) #2
rmcilroy
Thanks Ulan! https://codereview.chromium.org/123263005/diff/30001/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): https://codereview.chromium.org/123263005/diff/30001/src/arm/lithium-codegen-arm.cc#newcode983 src/arm/lithium-codegen-arm.cc:983: // Register pp always contains a pointer ...
6 years, 11 months ago (2014-01-07 14:57:29 UTC) #3
rmcilroy
6 years, 11 months ago (2014-01-07 15:54:07 UTC) #4
Message was sent while issue was closed.
Committed patchset #4 manually as r18473 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698