• 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
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.DEPS.git Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...