DescriptionIssue #3593 - Make isolate a fully internal member of the engine
Remove the isolate argument from the `JsEngine` factory method. This is an API
change. This argument was, however, only introduced to deal with #3593, and it
should not affect ordinary clients.
Create the isolate in the engine factory method instead of using an external
isolate or one from an argument default.
Remove class `ScopedV8Isolate`, which is no longer necessary. Its behavior has
been moved into the constructors and the factory. Added an engine destructor,
needed to call `Dispose()` on the isolate, which call was previously performed
by the removed class.
Clean up unit tests in the wake of not sharing an isolate. Added test points
to ensure that every use of the engine only has a single remaining (strong)
reference at the time it's destroyed (and fixed defective versions of this
test). This entails waiting for asynchronous tasks--I/O tasks must finish,
timers are interrupted. Replaced explicit calls to `new` with calls to
`make_shared`. In all cases this shortened the code; in a few cases it
eliminated some memory leaks.
Patch Set 1 : #
Total comments: 1
Patch Set 2 : improve unit tests to go with isolate change #
MessagesTotal messages: 3
|