• 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
..
v8-debug.h Loading commit data...
v8-platform.h Loading commit data...
v8-profiler.h Loading commit data...
v8-testing.h Loading commit data...
v8.h Loading commit data...
v8config.h Loading commit data...
v8stdint.h Loading commit data...