when v8 is compiled with options "v8_use_snapshot=true v8_use_external_startup_data=true", two files which are natives_blob.bin and snapshot_blob.bin will be generated. when we use v8 in our embedder progroam,
V8::InitializeExternalStartupData need be called to load the two files. After that, we need to new a isolate by calling
Isolate::New that will call
isolate->set_snapshot_blob(i::Snapshot::DefaultSnapshotBlob()); if we don't supply a custom snapshot data by specifing
CreateParams's snapshot_blob.
But if v8 is complied with options "v8_use_snapshot=true v8_use_external_startup_data=false", natives_blob.bin and snapshot_blob.bin will not be generated. V8::InitializeExternalStartupData need not be called. Can I call Isolate::New with a custom snapshot data that was generated by SnapshotCreator Api. Notice in this case no natives_blob.bin is supplied. So is natives_blob.bin necessary ? Is natives_blob.bin complied into v8 binary?
we can still supply a custom snapshot to CreateParams even if v8 is complied with options "v8_use_snapshot=false", is that right?
what is the relationship between natives_blob.bin and snapshot_blob.bin? why not just generate one snapshot file?