• rmcilroy@chromium.org's avatar
    Add support for extended constant pool arrays. · 97c962c2
    rmcilroy@chromium.org authored
    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.
    
    R=ulan@chromium.org
    
    Review URL: https://codereview.chromium.org/304143002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    97c962c2
heap.cc 218 KB