To get a script you call getObject with an isolate id and a script id. I'm wondering if this implies that I should use (isolate id, script id) as a cache key to store a script? That is, is it possible for scripts in two different isolates (in the same VM) to have the same id?
Also, the docs [1] say that "fixed" ids can expire when the object is garbage collected, and the id might be reused. Is this the case for scripts? If so, how would I know when to invalidate the cache entry for a script?
(And by the way, the docs mention a "fixedId" property once but nowhere else. Where would "fixedId" appear? Is this still used?)
[1]
https://github.com/dart-lang/sdk/blob/master/runtime/vm/service/service.md#ids-and-names