• vegorov@chromium.org's avatar
    Introduce API to temporarily interrupt long running JavaScript code. · 64d2dfa2
    vegorov@chromium.org authored
    It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
    
      /**
       * Request V8 to interrupt long running JavaScript code and invoke
       * the given |callback| passing the given |data| to it. After |callback|
       * returns control will be returned to the JavaScript code.
       * At any given moment V8 can remember only a single callback for the very
       * last interrupt request.
       * Can be called from another thread without acquiring a |Locker|.
       * Registered |callback| must not reenter interrupted Isolate.
       */
      void RequestInterrupt(InterruptCallback callback, void* data);
    
      /**
       * Clear interrupt request created by |RequestInterrupt|.
       * Can be called from another thread without acquiring a |Locker|.
       */
      void ClearInterrupt();
    
    Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
    
    BUG=
    R=danno@chromium.org, dcarney@chromium.org
    
    Review URL: https://codereview.chromium.org/102063004
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    64d2dfa2
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...