- 17 Oct, 2017 1 commit
-
-
jgruber authored
This removes the builtins area from the startup snapshot. It's now completely contained in the separate builtins blob area. Bug: v8:6624 Change-Id: Id3c43a177c7e1ed418eec59cf620fa461eb6df81 Reviewed-on: https://chromium-review.googlesource.com/715759 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48636}
-
- 19 Sep, 2017 1 commit
-
-
Jakob Gruber authored
This CL refactors allocation & reservation logic into a new DefaultSerializerAllocator class. In upcoming work, this will be further extended by a custom allocator for builtin serialization. Additionally, this cleans up a bunch of cosmetics (encapsulation and other nits). Bug: v8:6624 Change-Id: Ibcf12a525c8fcb26d9c16b7a12fd598c37a0e10a Reviewed-on: https://chromium-review.googlesource.com/650357Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48077}
-
- 30 Aug, 2017 1 commit
-
-
jgruber authored
This is a reland of 49e3bfd5 Original change's description: > [snapshot] Move builtins to dedicated snapshot area > > As a first step towards lazy builtin deserialization, this CL moves > builtins to their own dedicated area in the snapshot blob, physically > located after startup data and before context-specific data. > > The startup- and partial serializers now serialize all seen builtins as > references, i.e. they only encode the relevant builtin id (taking care > to preserve special behavior around the interpreter trampoline and > CompileLazy). Builtins are later fully serialized by the > BuiltinSerializer. The separate blobs are finally glued together by > CreateSnapshotBlob. > > Deserialization takes the same steps: when we see builtin reference > bytecodes before builtins have been deserialized, we push to a list of > deferred builtin references. After builtin deserialization, this list is > iterated and all builtin references are fixed up. > > Bug: v8:6624 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: Idee42fa9c92bdbe8d5b8c4b8bf3ca9dd39634004 > Reviewed-on: https://chromium-review.googlesource.com/610225 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47596} Bug: v8:6624 Change-Id: I8bfac56c482d992987c270bf0fea7acd9e4ca0c7 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/638271Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47705}
-
- 28 Aug, 2017 1 commit
-
-
Michael Hablich authored
This reverts commit 49e3bfd5. Reason for revert: Primary suspect for blocked roll: 759552 Original change's description: > [snapshot] Move builtins to dedicated snapshot area > > As a first step towards lazy builtin deserialization, this CL moves > builtins to their own dedicated area in the snapshot blob, physically > located after startup data and before context-specific data. > > The startup- and partial serializers now serialize all seen builtins as > references, i.e. they only encode the relevant builtin id (taking care > to preserve special behavior around the interpreter trampoline and > CompileLazy). Builtins are later fully serialized by the > BuiltinSerializer. The separate blobs are finally glued together by > CreateSnapshotBlob. > > Deserialization takes the same steps: when we see builtin reference > bytecodes before builtins have been deserialized, we push to a list of > deferred builtin references. After builtin deserialization, this list is > iterated and all builtin references are fixed up. > > Bug: v8:6624 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: Idee42fa9c92bdbe8d5b8c4b8bf3ca9dd39634004 > Reviewed-on: https://chromium-review.googlesource.com/610225 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47596} TBR=yangguo@chromium.org,mlippautz@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:6624 Change-Id: I9906c9ea15a623226b890f63bc65876a6f5203f8 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/638331Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#47648}
-
- 25 Aug, 2017 1 commit
-
-
Jakob Gruber authored
As a first step towards lazy builtin deserialization, this CL moves builtins to their own dedicated area in the snapshot blob, physically located after startup data and before context-specific data. The startup- and partial serializers now serialize all seen builtins as references, i.e. they only encode the relevant builtin id (taking care to preserve special behavior around the interpreter trampoline and CompileLazy). Builtins are later fully serialized by the BuiltinSerializer. The separate blobs are finally glued together by CreateSnapshotBlob. Deserialization takes the same steps: when we see builtin reference bytecodes before builtins have been deserialized, we push to a list of deferred builtin references. After builtin deserialization, this list is iterated and all builtin references are fixed up. Bug: v8:6624 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Idee42fa9c92bdbe8d5b8c4b8bf3ca9dd39634004 Reviewed-on: https://chromium-review.googlesource.com/610225Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47596}
-
- 22 Aug, 2017 1 commit
-
-
Peter Marshall authored
Bug: v8:6333 Change-Id: I189aa2938287e634bb4fec3b0e7c16acb6d66a11 Reviewed-on: https://chromium-review.googlesource.com/623249 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47496}
-
- 27 Jul, 2017 1 commit
-
-
Vyacheslav Chigrin authored
We must ensure required root objects will be filled when such objects will be deserialized. Change-Id: I25136d31cb2e0c0a69a51c5635192f17bbe2a9ba Reviewed-on: https://chromium-review.googlesource.com/579768 Commit-Queue: Vyacheslav Chigrin <vchigrin@yandex-team.ru> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46944}
-
- 18 Jul, 2017 1 commit
-
-
Yang Guo authored
See https://goo.gl/6aN8xA Bug: v8:6593 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ic8b0b57195d01d41591397d5d45de3f0f3ebc3d9 Reviewed-on: https://chromium-review.googlesource.com/574527Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46732}
-
- 25 Apr, 2017 1 commit
-
-
ulan authored
This patch adds a new interface called RootVisitor and changes the root iteration functions to accept a RootVisitor instead of an ObjectVisitor. Future CLs will change ObjectVisitor to provide the host object to all visiting functions, which will bring it in sync with static visitors. Having separate visitors for roots and objects removes ambiguity in VisitPointers and reduces chances of forgetting to record slots. This is intended as pure refactoring. All places that require behavior change are marked with TODO and will addressed in future CLs. BUG=chromium:709075 Review-Url: https://codereview.chromium.org/2801073006 Cr-Commit-Position: refs/heads/master@{#44852}
-
- 08 Dec, 2016 1 commit
-
-
yangguo authored
R=jochen@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2561783002 Cr-Commit-Position: refs/heads/master@{#41587}
-
- 14 Nov, 2016 1 commit
-
-
yangguo authored
Changes include: - Adding V8_EXPORT macro for SnapshotCreator - Removing outdated DCHECKs. - Allow nullptr as external reference. This required a... - Refactoring of hashmaps used by the serializer. - Remove external references for counters. These are not used anywhere for isolates that are being serialized. - Put template infos into the partial snapshot cache. - Remove unnecessary presubmit check for external references. mksnapshot crashes if external references are missing. R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2490783004 Cr-Commit-Position: refs/heads/master@{#40949}
-
- 29 Sep, 2016 1 commit
-
-
leszeks authored
Make MatchFun a template parameter in TemplateHashMapImpl, moving the PointersMatch function down to an implementation which extends TemplateHashMapImpl to void* key and value (i.e. the same as the current HashMap and ZoneHashMap typedefs). This will allow other instantiations of TemplateHashMapImpl, with different MatchFun values, e.g. std::equal_to, to have their key equality test inlined, rather than calling a function pointer, Review-Url: https://codereview.chromium.org/2354593002 Cr-Commit-Position: refs/heads/master@{#39868}
-
- 15 Jun, 2016 1 commit
-
-
yangguo authored
R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2055203002 Cr-Commit-Position: refs/heads/master@{#37008}
-
- 10 Jun, 2016 2 commits
-
-
yangguo authored
R=vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2052433003 Cr-Commit-Position: refs/heads/master@{#36890}
-
yangguo authored
And use it to implement existing the existing snapshot API. R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2046423002 Cr-Commit-Position: refs/heads/master@{#36879}
-
- 17 Mar, 2016 2 commits
-
-
yangguo authored
Immortal immovable roots must be allocated on the first page of the space. If serializing the root list exceeds the first page, immortal immovable root objects might end up outside of the first page. That could cause missing write barriers. We now iterate the root list twice. The first time we only serialize immortal immovable root objects. The second time we serialize the rest. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1811913002 Cr-Commit-Position: refs/heads/master@{#34859}
-
yangguo authored
A startup snapshot is considered cold when it does not contain any function code. We can now create a warm startup snapshot from a cold one by running a warm-up script. Functions exercised by the warm-up script are compiled and its code included in the warm startup snapshot. Side effects caused by the warm-up script does not persist. R=vogelheim@chromium.org BUG=v8:4836 LOG=Y Review URL: https://codereview.chromium.org/1805903002 Cr-Commit-Position: refs/heads/master@{#34849}
-
- 01 Mar, 2016 1 commit
-
-
yangguo authored
R=rossberg@chromium.org, ulan@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/1751863002 Cr-Commit-Position: refs/heads/master@{#34395}
-