Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index e8c985048455e406c77c6b4c6814261f2cb7ab41..2977787468f65623c49185a291954e6129ff1ed9 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -5196,6 +5196,15 @@ class Code: public HeapObject { |
void ReplaceNthCell(int n, Cell* replace_with); |
+ // The entire code object including its header is copied verbatim to the |
+ // snapshot so that it can be written in one, fast, memcpy during |
+ // deserialization. The deserializer will overwrite some pointers, rather |
+ // like a runtime linker, but the random allocation addresses used in the |
+ // mksnapshot process would still be present in the unlinked snapshot data, |
+ // which would make snapshot production non-reproducible. This method wipes |
+ // out the to-be-overwritten header data for reproducible snapshots. |
+ inline void WipeOutHeader(); |
+ |
class ExtraICStateStrictMode: public BitField<StrictModeFlag, 0, 1> {}; |
class ExtraICStateKeyedAccessStoreMode: |
public BitField<KeyedAccessStoreMode, 1, 4> {}; // NOLINT |