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

Issue 356393003: [Arm]: Enable use of extended out-of-line constant pool for Arm. (Closed)

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

Description

[Arm]: Enable use of extended out-of-line constant pool for Arm. - Adds support to the Arm assembler to use extended constant pools. - Update (set_)target_address_at to support extended constant pool load updates. - Replace Operand::is_single_instruction with Operand::instructions_required Due to the fact that different constant pool load types require different numbers of instructions. - Various cleanups of ConstantPoolBuilder to cleaner integration of the extended constant pool building. - Update GetRelocatedValue such that offsets to both map_check and bool_load are explicitly provided, rather than location of bool_load being inferred based on map_check, since the code inbetween is no longer of a predictable size. - Update MacroAssembler::GetRelocatedValueLocation() to add support for getting a value from an extended constant pool entry. - Update Debug::SetAfterBreakTarget() to use target_address_from_return_address when checking for debug breaks at constant pool load points. - Change ConstantPoolIterateBody to iterate over both heap and code pointer in the small section before moving onto the extended section, to work around the requirement of the serializer that pointers are iterated in-order. - Increase old_pointer_space SizeOfFirstPage() to offset the fact that constant pools are now in the old pointer space (rather than code). R=ulan@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=22209

Patch Set 1 : #

Patch Set 2 : Fix issue with inline-constant pool. #

Total comments: 14

Patch Set 3 : Address Ulan's comments. #

Patch Set 4 : Formatted with git cl format #

Unified diffs Side-by-side diffs Delta from patch set Stats (+622 lines, -340 lines) Patch
M src/arm/assembler-arm.h View 1 2 3 9 chunks +59 lines, -35 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 2 3 20 chunks +197 lines, -142 lines 0 comments Download
M src/arm/assembler-arm-inl.h View 1 2 3 6 chunks +49 lines, -26 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 3 5 chunks +18 lines, -14 lines 0 comments Download
M src/arm/constants-arm.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 chunks +37 lines, -7 lines 0 comments Download
M src/arm/lithium-codegen-arm.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 5 chunks +42 lines, -17 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 3 3 chunks +12 lines, -7 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 6 chunks +57 lines, -17 lines 0 comments Download
M src/debug.cc View 1 2 3 1 chunk +20 lines, -17 lines 0 comments Download
M src/objects.h View 1 2 3 4 chunks +33 lines, -24 lines 0 comments Download
M src/objects.cc View 1 2 3 1 chunk +17 lines, -9 lines 0 comments Download
M src/objects-inl.h View 1 2 3 2 chunks +78 lines, -23 lines 0 comments Download
M src/spaces.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
rmcilroy
This change depends on: https://codereview.chromium.org/338053003/ https://codereview.chromium.org/329233002/ Ulan, please take a look, thanks.
6 years, 5 months ago (2014-06-30 09:39:13 UTC) #1
ulan
Looks good. I didn't review GetRelocatedValue and load_bool changes yet. Few questions: https://codereview.chromium.org/356393003/diff/60001/src/arm/assembler-arm.cc File src/arm/assembler-arm.cc ...
6 years, 5 months ago (2014-07-01 13:29:48 UTC) #2
rmcilroy
Thanks Ulan. https://codereview.chromium.org/356393003/diff/60001/src/arm/assembler-arm.cc File src/arm/assembler-arm.cc (right): https://codereview.chromium.org/356393003/diff/60001/src/arm/assembler-arm.cc#newcode1073 src/arm/assembler-arm.cc:1073: int Operand::instructions_required(const Assembler* assembler, On 2014/07/01 13:29:47, ...
6 years, 5 months ago (2014-07-02 16:35:55 UTC) #3
ulan
I reviewed the remaining GetRelocatedValue and load_bool changes. All changes lgtm. https://codereview.chromium.org/356393003/diff/60001/src/arm/full-codegen-arm.cc File src/arm/full-codegen-arm.cc (right): ...
6 years, 5 months ago (2014-07-03 09:19:55 UTC) #4
rmcilroy
6 years, 5 months ago (2014-07-03 17:01:35 UTC) #5
Message was sent while issue was closed.
Committed patchset #4 manually as r22209 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698