Reland: Simplify and compact transitions storage
authorjkummerow <jkummerow@chromium.org>
Fri, 6 Mar 2015 14:08:33 +0000 (06:08 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 6 Mar 2015 14:08:47 +0000 (14:08 +0000)
commit233ea0eef8510063ea8a27a2b8261b23bdd78a6b
treee7f80e0363f4ae4634bf6948bcefcfed53e85686
parentd8416f5524830213ce1a618c344d776f50f91bf2
Reland: Simplify and compact transitions storage

Original issue: https://codereview.chromium.org/980573002/

Simple transitions are now stored in a map's "transitions" field (as a WeakCell wrapping the target map); full TransitionArrays are used when that's not sufficient.
To encapsulate these storage format implementation details, functions for manipulating and querying transitions have been refactored to be static functions on the TransitionArray class, and take maps as inputs.

Review URL: https://codereview.chromium.org/988703002

Cr-Commit-Position: refs/heads/master@{#27044}
18 files changed:
src/heap-snapshot-generator.cc
src/heap/heap.cc
src/heap/mark-compact.cc
src/heap/mark-compact.h
src/heap/objects-visiting-inl.h
src/hydrogen.h
src/json-parser.h
src/objects-debug.cc
src/objects-inl.h
src/objects-printer.cc
src/objects.cc
src/objects.h
src/transitions-inl.h
src/transitions.cc
src/transitions.h
test/cctest/test-heap.cc
test/cctest/test-migrations.cc
test/cctest/test-transitions.cc