Investigating a segfault in my code, looking for
* NativesStore stores the 'native' (builtin) JS libraries.
* NativesStore needs to be initialized before using V8, usually by the
* embedder calling v8::SetNativesDataBlob, which calls SetNativesFromFile
A bit over a year later, I find myself back at this question, and now I know the answer.
You can compile V8 with external startup data ("snapshot") or without.
If you compiled with snapshot data, call
V8::InitializeExternalStartupData as shown in the Hello World example code. You don't call
Otherwise, the solution is to compile without snapshot data. Then, you don't need to call either of the aforementioned functions at all. Here's one answer on how to configure this in your build process. Note, using snapshot data decreases process start-up time.