| Index: src/execution.h
|
| diff --git a/src/execution.h b/src/execution.h
|
| index eda416c0da5409f82e9dda4bbbb749d24bf0ea01..3e62d8730ab471bc71f9d0ce5dc603be0356854e 100644
|
| --- a/src/execution.h
|
| +++ b/src/execution.h
|
| @@ -43,7 +43,8 @@ enum InterruptFlag {
|
| TERMINATE = 1 << 4,
|
| GC_REQUEST = 1 << 5,
|
| FULL_DEOPT = 1 << 6,
|
| - INSTALL_CODE = 1 << 7
|
| + INSTALL_CODE = 1 << 7,
|
| + API_INTERRUPT = 1 << 8
|
| };
|
|
|
|
|
| @@ -222,6 +223,11 @@ class StackGuard {
|
| void FullDeopt();
|
| void Continue(InterruptFlag after_what);
|
|
|
| + void RequestInterrupt(InterruptCallback callback, void* data);
|
| + void ClearInterrupt();
|
| + bool IsAPIInterrupt();
|
| + void InvokeInterruptCallback();
|
| +
|
| // This provides an asynchronous read of the stack limits for the current
|
| // thread. There are no locks protecting this, but it is assumed that you
|
| // have the global V8 lock if you are using multiple V8 threads.
|
| @@ -307,6 +313,9 @@ class StackGuard {
|
| int nesting_;
|
| int postpone_interrupts_nesting_;
|
| int interrupt_flags_;
|
| +
|
| + InterruptCallback interrupt_callback_;
|
| + void* interrupt_callback_data_;
|
| };
|
|
|
| // TODO(isolates): Technically this could be calculated directly from a
|
|
|