- 14 May, 2020 1 commit
-
-
Leszek Swirski authored
Add a new OffThreadObjectDeserializer, which can deserialize a snapshot into an OffThreadIsolate. This involves templating the Deserializer base class on Isolate, and amending OffThreadHeap to be able to create Reservations same as the main-thread Heap can. Various off-thread incompatible methods are stubbed out as UNREACHABLE in OffThreadIsolate overloads. There is currently no API entry into the off-thread deserialization, but under --stress-background-compile it now runs the CodeDeserializer (i.e. code cache deserialization) in a background thread. Bug: chromium:1075999 Change-Id: I2453f51ae31df4d4b6aa94b0804a9d6d3a03781e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172741 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67799}
-
- 27 Nov, 2018 1 commit
-
-
Camillo Bruni authored
Only log incrementally deserialized maps with --trace-maps instead of iterating the whole heap and print all existing maps on every partial deserialization for new contexts. This should greatly improve performance of --trace-maps on websites with many iframes. - Add helpers to share code: LogNewObjectEvents, LogScriptEvents, LogNewMapEvents - Link AllocationSites before any GC Change-Id: I5322421a83e057518f871540691511c80bc7786a Reviewed-on: https://chromium-review.googlesource.com/c/1342029Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#57874}
-
- 31 Oct, 2018 1 commit
-
-
Jakob Gruber authored
Now that lazy deserialization has been removed, we can roll back all the mechanisms we introduced to support lazy single-builtin deserialization. This CL moves serialized builtin code objects (i.e. off-heap-trampolines in most cases) back into the startup snapshot. Support classes for builtin serialization and deserialization, as well as the builtins snapshot itself are removed. Templatization on the allocator class is removed as well. Tbr: delphick@chromium.org Bug: v8:6666, v8:7990 Change-Id: I2a910f8d3278b7e27b5f18ad408361ebd18871cc Reviewed-on: https://chromium-review.googlesource.com/c/1304539Reviewed-by: Jakob Gruber <jgruber@chromium.org> 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@{#57160}
-
- 29 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
R=yangguo@chromium.org Bug: v8:7965 Change-Id: I38d636b29bc6a8eebafc8299b24954bedb3cafec Reviewed-on: https://chromium-review.googlesource.com/c/1303719 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#57077}
-
- 26 Jun, 2018 1 commit
-
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: Ia1eca39add782c5af27f12c2bb450cc7837a4251 Reviewed-on: https://chromium-review.googlesource.com/1113678Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54017}
-
- 17 Oct, 2017 1 commit
-
-
jgruber authored
A continuation of the work in 59e4b751, this extracts logic around memory reservation and allocations out of the Deserializer class. Follow-up work is planned to create a specialized allocator for builtin deserialization. Bug: v8:6624 Change-Id: I7081cdc557ab8fb2571aadb816399e136ea2cdbb Reviewed-on: https://chromium-review.googlesource.com/716036 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48634}
-
- 08 Aug, 2017 2 commits
-
-
Jakob Gruber authored
This moves deserializer setup boilerplate inside the deserializers, and makes improper usage less likely. For instance: ObjectDeserializer deserializer(&scd); /* ... deserializer setup ... */ MaybeHandle<HeapObject> obj = deserializer.Deserialize(isolate); /* ... result checks and casts ... */ has now become: /* All setup and casts inside deserializer, impossible to illegally use the same instance multiple times. */ MaybeHandle<SharedFunctionInfo> maybe_result = ObjectDeserializer::DeserializeSharedFunctionInfo( isolate, &scd, source); Bug: v8:6624 Change-Id: Id5a1848e024e89cf86e5292389ba7c89f31d8e6b Reviewed-on: https://chromium-review.googlesource.com/604791 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47219}
-
Jakob Gruber authored
Another pure refactoring CL. This extracts methods used only by Deserializer subclasses. Bug: v8:6624 Change-Id: Ib4dd7cdc591dff217e282e68a490c8c7129b9c96 Reviewed-on: https://chromium-review.googlesource.com/602188 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47211}
-
- 03 Aug, 2017 1 commit
-
-
jgruber authored
This begins splitting up the Deserializer class into {Object,Partial,Startup}Deserializer. For now, all functionality remains in the Deserializer base clase, to be refactored in future CLs. Empty .cc files are added here to avoid having to touch build files again. Bug: v8:6624 Change-Id: If563e03492991bd55c91cd2e09312c0a26aaab2c Reviewed-on: https://chromium-review.googlesource.com/598067Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47107}
-