Reviewers: ulan,

Message:
Ulan, could you please take a look.  Sorry about the large CL, but I had to
change the way iteration of the constant pool's worked to support the extended
section cleanly.

Michael, I cced you in case you are interested in the changes being made to the
constant pool for your work on the feedback vector.

Description:
Add support for extended constant pool arrays.

This CL adds support for ConstantPoolArrays which contain an extended section.
This will be used to enable larger constant pools than can be addressed by a
single ldr with immediate offset instruction (which has a limit of a 4KB range). Extended constant pools will have a small section, which is addressable via a
single ldr instruction, and an extended section, which will require a multi-
instruction sequence to load from.

Currently, no code uses the extended ConstantPoolArray's - this change will
be made in a followup CL.

A number of changes are made to the ConstantPoolArray object in order to
support this:
- Small section layout is now entirely defined by the small layout bitmaps.
  - The ConstantPoolArray no longer extends FixedArrayBase since the length
    field is not useful for extended layouts.
  - Enums are used to represent the type of an entry and the layout section.
  - An iterator can be used to iterate through all elements of a given type.
  - A number of tests were added for these features.

Please review this at https://codereview.chromium.org/304143002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+866, -237 lines):
  M src/arm/assembler-arm.cc
  M src/factory.h
  M src/factory.cc
  M src/heap.h
  M src/heap.cc
  M src/mark-compact.cc
  M src/objects.h
  M src/objects.cc
  M src/objects-debug.cc
  M src/objects-inl.h
  M src/objects-printer.cc
  M src/objects-visiting-inl.h
  M test/cctest/test-constantpool.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to