| Index: src/v8.cc
|
| diff --git a/src/v8.cc b/src/v8.cc
|
| index 2910a0700d92223521dddf8a072fc65fb6fa9615..eaff43c9bfb4bb8bcd69b2c2fb52c8a00f0ebebe 100644
|
| --- a/src/v8.cc
|
| +++ b/src/v8.cc
|
| @@ -106,13 +106,16 @@ void V8::TearDown() {
|
|
|
| if (!has_been_set_up_ || has_been_disposed_) return;
|
|
|
| + // The isolate has to be torn down before clearing the LOperand
|
| + // caches so that the optimizing compiler thread (if running)
|
| + // doesn't see an inconsistent view of the lithium instructions.
|
| + isolate->TearDown();
|
| + delete isolate;
|
| +
|
| ElementsAccessor::TearDown();
|
| LOperand::TearDownCaches();
|
| RegisteredExtension::UnregisterAll();
|
|
|
| - isolate->TearDown();
|
| - delete isolate;
|
| -
|
| is_running_ = false;
|
| has_been_disposed_ = true;
|
|
|
|
|