dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.08k stars 1.56k forks source link

Remove support for blobs snapshots from Dart VM #38764

Open mkustermann opened 4 years ago

mkustermann commented 4 years ago

Now that we can write/read ELF we should remove the blobs format by

sjindel-google commented 4 years ago

For context, we're deprecating blobs in favor of Assembly and ELF snapshots.

The blobs form currently has two significant limitations:

  1. We cannot add new sections without updating all the Dart and Flutter embedders.
  2. We cannot control or predict the relative positions of sections, inhibiting PC-relative loads and calls.

With Assembly and ELF snapshots we can add new sections without updating the embedders and discover the address of the new sections at runtime by offset from any of the existing sections.