Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Issue 104823008: Reland r18363. (Closed)

Created:
7 years ago by Vyacheslav Egorov (Chromium)
Modified:
7 years ago
Reviewers:
dcarney
CC:
v8-dev, Paweł Hajdan Jr.
Visibility:
Public.

Description

Reland r18363. Introduce API to temporarily interrupt long running JavaScript code. 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. Changes from r18363: - includes r18364 to fix compilation errors: removes debugging only code; - makes interrupiton related tests not threaded, because they rely on having exclusive access to the V8 instance and the fact that they can only interrupt themselves, if they are interrupted from the outside they break; - changes HasStackCheck predicate used during SCE pass to avoid handles dereference to make SCE compatible with parallel recompilation. R=dcarney@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=18375

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+371 lines, -9 lines) Patch
M include/v8.h View 2 chunks +19 lines, -0 lines 0 comments Download
M src/api.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M src/execution.h View 3 chunks +10 lines, -1 line 0 comments Download
M src/execution.cc View 4 chunks +49 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.h View 6 chunks +29 lines, -6 lines 0 comments Download
M src/hydrogen-sce.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-api.cc View 2 chunks +252 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Chromium)
7 years ago (2013-12-18 20:38:43 UTC) #1
dcarney
lgtm
7 years ago (2013-12-19 07:07:49 UTC) #2
Vyacheslav Egorov (Chromium)
7 years ago (2013-12-19 16:46:11 UTC) #3
Message was sent while issue was closed.
Committed patchset #1 manually as r18375 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698