- 01 Jul, 2015 1 commit
-
-
binji authored
This is more consistent with the DOM API, and is clearer w.r.t. which values are available in the lexical environment of the Worker. BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1218553004 Cr-Commit-Position: refs/heads/master@{#29426}
-
- 25 Jun, 2015 1 commit
-
-
binji authored
The issue is that Worker.prototype.terminate was deleting the C++ Worker object, and then Worker.prototype.getMessage was trying to read messages from the queue. The simplest solution is to keep workers in a zombie state when they have been terminated. They won't be reaped until Shell::CleanupWorkers is called. I've also fixed some threading issues with Workers: * Workers can be created by another Worker, so the Shell::workers_ variable must be protected by a mutex. * An individual Worker can typically only be accessed by the isolate that created it, but the main thread can always terminate it, so the Worker::state_ must be accessed in a thread-safe way. BUG=chromium:504136 R=jochen@chromium.org LOG=n Review URL: https://codereview.chromium.org/1208733002 Cr-Commit-Position: refs/heads/master@{#29306}
-
- 22 Jun, 2015 1 commit
-
-
binji authored
This API closely matches the Worker API. The differences: 1) The argument to the Worker constructor is a function to run, not a script. 2) Receiving a message from a worker is a synchronous API (as there is no event loop). The serialization done here is not robust as the real DOM implementation. For example, recursive data structures or otherwise duplicated objects are not allowed. BUG=chromium:497295 LOG=n Review URL: https://codereview.chromium.org/1192923002 Cr-Commit-Position: refs/heads/master@{#29195}
-
- 19 Jun, 2015 2 commits
-
-
binji authored
Revert of Add d8 API for spawning function on a new thread (Second try) (patchset #3 id:60001 of https://codereview.chromium.org/1195613003/) Reason for revert: Fails on V8 Linux - isolates (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20isolates/builds/4128) Original issue's description: > Add d8 API for spawning function on a new thread (Second try) > > This API closely matches the Worker API. The differences: > > 1) The argument to the Worker constructor is a function to run, not a script. > 2) Receiving a message from a worker is a synchronous API (as there is no event > loop). > > The serialization done here is not robust as the real DOM implementation. For > example, recursive data structures or otherwise duplicated objects are not > allowed. > > BUG=chromium:497295 > R=jochen@chromium.org > LOG=n > > Review URL: https://codereview.chromium.org/1185643004 > > Cr-Commit-Position: refs/heads/master@{#29126} > > Committed: https://crrev.com/ec2eaf712ecee6b4891c0458f2397e04a1f9b339 > Cr-Commit-Position: refs/heads/master@{#29158} TBR=jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:497295 Review URL: https://codereview.chromium.org/1191373005 Cr-Commit-Position: refs/heads/master@{#29161}
-
binji authored
This API closely matches the Worker API. The differences: 1) The argument to the Worker constructor is a function to run, not a script. 2) Receiving a message from a worker is a synchronous API (as there is no event loop). The serialization done here is not robust as the real DOM implementation. For example, recursive data structures or otherwise duplicated objects are not allowed. BUG=chromium:497295 R=jochen@chromium.org LOG=n Review URL: https://codereview.chromium.org/1185643004 Cr-Commit-Position: refs/heads/master@{#29126} Review URL: https://codereview.chromium.org/1195613003 Cr-Commit-Position: refs/heads/master@{#29158}
-
- 18 Jun, 2015 2 commits
-
-
binji authored
Revert of Add d8 API for spawning function on a new thread. (patchset #6 id:100001 of https://codereview.chromium.org/1185643004/) Reason for revert: Fails on V8 Win32 - nosnap - shared (http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/7427) Fails on V8 Arm - debug builder (http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20builder/builds/4361) Fails on V8 Linux - shared (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4430) Original issue's description: > Add d8 API for spawning function on a new thread. > > This API closely matches the Worker API. The differences: > > 1) The argument to the Worker constructor is a function to run, not a script. > 2) Receiving a message from a worker is a synchronous API (as there is no event > loop). > > The serialization done here is not robust as the real DOM implementation. For > example, recursive data structures or otherwise duplicated objects are not > allowed. > > BUG=none > R=jochen@chromium.org > LOG=n > > Committed: https://crrev.com/3d98b956b56fa283b40913788ff760022d478812 > Cr-Commit-Position: refs/heads/master@{#29126} TBR=jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=none Review URL: https://codereview.chromium.org/1192193002 Cr-Commit-Position: refs/heads/master@{#29130}
-
binji authored
This API closely matches the Worker API. The differences: 1) The argument to the Worker constructor is a function to run, not a script. 2) Receiving a message from a worker is a synchronous API (as there is no event loop). The serialization done here is not robust as the real DOM implementation. For example, recursive data structures or otherwise duplicated objects are not allowed. BUG=none R=jochen@chromium.org LOG=n Review URL: https://codereview.chromium.org/1185643004 Cr-Commit-Position: refs/heads/master@{#29126}
-