Reviewers: bbudge, jochen,

Description:
Serializer: support all alignment kinds.

We use an alignment prefix for unusual alignment kinds (not kWordAligned).
This will cause new objects to be aligned in ReadObject, and back references
to be aligned to skip padding.

The motivation to change the undefined next sentinel in WeakCell is this:
When the deserializer aligns an object, it requires filler maps to already
exist to create filler objects as padding. However, deserializing the
filler map leads to deserializing NaN, which as heap number is aligned:
filler map > meta map > weak cell cache > undefined > NaN
If we use the-hole instead of undefined as sentinel, it works.

[email protected],[email protected]
BUG=v8:4178
LOG=N

Please review this at https://codereview.chromium.org/1179873003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+103, -79 lines):
  M src/code-stubs-hydrogen.cc
  M src/heap/heap.cc
  M src/heap/mark-compact.cc
  M src/heap/objects-visiting-inl.h
  M src/snapshot/serialize.h
  M src/snapshot/serialize.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to