• Jakob Gruber's avatar
    [builtins] Reduce the generated embedded.S file size on windows · 4ca93a64
    Jakob Gruber authored
    Windows MASM becomes extremely slow when given very large data streams.
    Runtime behavior is super-linear, with compile times of
    
      5s for 50 KLOC in embedded.S
     15s for 100KLOC
     40s for 150KLOC
    
    Compilation of the 320KLOC file produced for debug builds took more than
    5 minutes.
    
    This CL reduces compile time by emitting QWORD directives instead,
    which reduces the emitted debug embedded.S to around 120KLOC and
    compile times to around 40s.
    
    Bug: v8:8475,v8:6666
    Change-Id: I19903cdf7d1b70a65c00ca67f40129847b17f386
    Reviewed-on: https://chromium-review.googlesource.com/c/1341951Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57609}
    4ca93a64
Name
Last commit
Last update
..
DEPS Loading commit data...
OWNERS Loading commit data...
code-serializer.cc Loading commit data...
code-serializer.h Loading commit data...
deserializer-allocator.cc Loading commit data...
deserializer-allocator.h Loading commit data...
deserializer.cc Loading commit data...
deserializer.h Loading commit data...
embedded-data.cc Loading commit data...
embedded-data.h Loading commit data...
embedded-empty.cc Loading commit data...
embedded-file-writer.cc Loading commit data...
embedded-file-writer.h Loading commit data...
mksnapshot.cc Loading commit data...
natives-common.cc Loading commit data...
natives-external.cc Loading commit data...
natives.h Loading commit data...
object-deserializer.cc Loading commit data...
object-deserializer.h Loading commit data...
partial-deserializer.cc Loading commit data...
partial-deserializer.h Loading commit data...
partial-serializer.cc Loading commit data...
partial-serializer.h Loading commit data...
read-only-deserializer.cc Loading commit data...
read-only-deserializer.h Loading commit data...
read-only-serializer.cc Loading commit data...
read-only-serializer.h Loading commit data...
references.h Loading commit data...
roots-serializer.cc Loading commit data...
roots-serializer.h Loading commit data...
serializer-allocator.cc Loading commit data...
serializer-allocator.h Loading commit data...
serializer-common.cc Loading commit data...
serializer-common.h Loading commit data...
serializer.cc Loading commit data...
serializer.h Loading commit data...
snapshot-common.cc Loading commit data...
snapshot-empty.cc Loading commit data...
snapshot-external.cc Loading commit data...
snapshot-source-sink.cc Loading commit data...
snapshot-source-sink.h Loading commit data...
snapshot.h Loading commit data...
startup-deserializer.cc Loading commit data...
startup-deserializer.h Loading commit data...
startup-serializer.cc Loading commit data...
startup-serializer.h Loading commit data...