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

Reply via email to