Reviewers: Mads Ager, Kevin Millikin, Kasper Lund,
Description:
Cardmarking writebarrier.
This huge CL contains the following:
- Changes to enable oldspace iteration without maps decoding:
-- layout change for FixedArrays: length is stored as a smis (initial patch
by
Kevin Millikin)
-- layout change for SharedFunctionInfo: integer fields are stored as smi on
arm, ia32 and rearranged on x64.
-- layout change for String: meaning of LSB bit is fliped (1 now means hash
not
computed); on x64 padding is added.
-- layout of Map is _not_ changed(!). Map space is currently iterated in a
special way.
- Cardmarking based write barrier. New barrier handles large objects and
normal
objects in a similar fashion (no more additional space for pointer tracking
is
required, no conditional branches in WB code).
Please review this at http://codereview.chromium.org/2101002/show
Affected files:
M src/arm/builtins-arm.cc
M src/arm/codegen-arm.cc
M src/arm/ic-arm.cc
M src/arm/macro-assembler-arm.cc
M src/builtins.cc
M src/flag-definitions.h
M src/globals.h
M src/heap-inl.h
M src/heap.h
M src/heap.cc
M src/ia32/builtins-ia32.cc
M src/ia32/codegen-ia32.h
M src/ia32/codegen-ia32.cc
M src/ia32/ic-ia32.cc
M src/ia32/macro-assembler-ia32.h
M src/ia32/macro-assembler-ia32.cc
M src/ia32/stub-cache-ia32.cc
M src/mark-compact.h
M src/mark-compact.cc
M src/objects-debug.cc
M src/objects-inl.h
M src/objects.h
M src/objects.cc
M src/runtime.cc
M src/spaces-inl.h
M src/spaces.h
M src/spaces.cc
M src/x64/builtins-x64.cc
M src/x64/codegen-x64.cc
M src/x64/ic-x64.cc
M src/x64/macro-assembler-x64.h
M src/x64/macro-assembler-x64.cc
M src/x64/stub-cache-x64.cc
M test/cctest/test-heap.cc
M test/cctest/test-spaces.cc
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev