Chromium Code Reviews| Index: runtime/vm/code_generator.cc |
| diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc |
| index dd977b239684252db484eb32a0e25e3a92e5da2d..cdb7d40b12a7d7293f592f08849137f1b331ea95 100644 |
| --- a/runtime/vm/code_generator.cc |
| +++ b/runtime/vm/code_generator.cc |
| @@ -23,6 +23,7 @@ |
| #include "vm/runtime_entry.h" |
| #include "vm/stack_frame.h" |
| #include "vm/symbols.h" |
| +#include "vm/thread_registry.h" |
| #include "vm/verifier.h" |
| namespace dart { |
| @@ -1299,6 +1300,10 @@ DEFINE_RUNTIME_ENTRY(StackOverflow, 0) { |
| } |
| uword interrupt_bits = isolate->GetAndClearInterrupts(); |
| + if ((interrupt_bits & Isolate::kSafepointInterrrupt) != 0) { |
| + isolate->thread_registry()->CheckSafepoint(); |
|
Ivan Posva
2015/07/31 20:28:09
Regardless of the interrupt reason we should check
koda
2015/07/31 22:40:44
Done by creating single VM interrupt for all these
|
| + // TODO(koda): Merge safepoint + store buffer into simply "GC interrupt"? |
| + } |
| if ((interrupt_bits & Isolate::kStoreBufferInterrupt) != 0) { |
| if (FLAG_verbose_gc) { |
| OS::PrintErr("Scavenge scheduled by store buffer overflow.\n"); |