-
adamk authored
This is a re-land of https://codereview.chromium.org/2393303002/ with an additional call to DisposeModuleEmbedderData() added to fix lsan failures. Unifies the approaches used for storing the specifier -> module mapping and the module -> directory mapping, using std::unordered_maps for both and storing them per-Context. This requires adding a method to the v8::Module API to get a hash code for a Module, but allows slimming down the API in return: gone are SetEmbedderData/GetEmbedderData, along with the fourth argument to ResolveModuleCallback. Besides a simpler API, this allows d8 to get closer to the HTML loader, which requires each Realm to have a persistent module map (though this capability is not yet exercised by any tests). BUG=v8:1569 TBR=neis@chromium.org,jochen@chromium.org Review-Url: https://codereview.chromium.org/2405313002 Cr-Commit-Position: refs/heads/master@{#40186}
9d2051fc