• 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
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-arm-inl.h Loading commit data...
assembler-arm.cc Loading commit data...
assembler-arm.h Loading commit data...
builtins-arm.cc Loading commit data...
code-stubs-arm.cc Loading commit data...
code-stubs-arm.h Loading commit data...
codegen-arm.cc Loading commit data...
codegen-arm.h Loading commit data...
constants-arm.cc Loading commit data...
constants-arm.h Loading commit data...
cpu-arm.cc Loading commit data...
debug-arm.cc Loading commit data...
deoptimizer-arm.cc Loading commit data...
disasm-arm.cc Loading commit data...
frames-arm.cc Loading commit data...
frames-arm.h Loading commit data...
full-codegen-arm.cc Loading commit data...
ic-arm.cc Loading commit data...
lithium-arm.cc Loading commit data...
lithium-arm.h Loading commit data...
lithium-codegen-arm.cc Loading commit data...
lithium-codegen-arm.h Loading commit data...
lithium-gap-resolver-arm.cc Loading commit data...
lithium-gap-resolver-arm.h Loading commit data...
macro-assembler-arm.cc Loading commit data...
macro-assembler-arm.h Loading commit data...
regexp-macro-assembler-arm.cc Loading commit data...
regexp-macro-assembler-arm.h Loading commit data...
simulator-arm.cc Loading commit data...
simulator-arm.h Loading commit data...
stub-cache-arm.cc Loading commit data...