[VM runtime] Restore global isolate state after loading bytecode.

This caused deopt_ids to be wrongly reused when mixing
jitted and interpreted code.

Change-Id: I23eb93bb79d7297f8d9efdd81844394fee3fb821
Reviewed-on: https://dart-review.googlesource.com/71703
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
This commit is contained in:
Régis Crelier 2018-08-27 23:24:40 +00:00 committed by commit-bot@chromium.org
parent 83324a8db9
commit 4b8d3e4cf1

View file

@ -847,6 +847,9 @@ RawCode* CompileParsedFunctionHelper::Compile(CompilationPipeline* pipeline) {
#if defined(DART_USE_INTERPRETER)
// TODO(regis): Revisit.
if (flow_graph == NULL && function.HasBytecode()) {
// Reset global isolate state.
thread()->set_deopt_id(prev_deopt_id);
return Code::null();
}
#endif