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 #
Messages
Total messages: 5 (0 generated)
|