- 12 Aug, 2015 1 commit
-
-
mstarzinger authored
This tries to remove includes of "-inl.h" headers from normal ".h" headers, thereby reducing the chance of any cyclic dependencies and decreasing the average size of our compilation units. Note that this change still leaves 7 violations of that rule in the code. However there now is the "tools/check-inline-includes.sh" tool detecting such violations. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1283033003 Cr-Commit-Position: refs/heads/master@{#30125}
-
- 11 Aug, 2015 1 commit
-
-
mstarzinger authored
This is the first step of turning the v8.h file into a normal header instead of an include-the-world header. The new rule is that no other header files are allowed to include v8.h, which is enforced by DEPS. Also the number of includes inside the v8.h file has been drastically reduced. Basically the last missing piece is the inclusion of the big objects-inl.h file. This in turn makes many headers follow the IWYU principle. R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1282503003 Cr-Commit-Position: refs/heads/master@{#30102}
-
- 30 Jul, 2015 2 commits
-
-
binji authored
script_executed and last_run are read/written by multiple threads. Also externalized_shared_contents_ is modified by multiple threads. BUG=4306 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1252623003 Cr-Commit-Position: refs/heads/master@{#29912}
-
binji authored
When the main thread terminates, it forcibly terminates all Worker threads. When this happens, the threads objects were only half-created; they had a JavaScript Worker object, but not a C++ worker object. This CL fixes that bug, as well as some other fixes: * Signatures on Worker methods * Use SetAlignedPointerFromInternalField instead of using an External. * Remove state_ from Worker. Simplify to atomic bool running_. BUG=chromium:511880 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1255563002 Cr-Commit-Position: refs/heads/master@{#29911}
-
- 23 Jul, 2015 2 commits
-
-
yangguo authored
Nobody seems to use it. A good alternative is rlwrap. R=jochen@chromium.org Review URL: https://codereview.chromium.org/1250223002 Cr-Commit-Position: refs/heads/master@{#29810}
-
yangguo authored
The code is unmaintained and full of errors... but this CL wipes them all away. Nobody seems to use it anyways. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1243213004 Cr-Commit-Position: refs/heads/master@{#29801}
-
- 20 Jul, 2015 1 commit
-
-
jochen authored
Original issue's description: > BUG=v8:4134 > LOG=n > R=yangguo@chromium.org > > Review URL: https://codereview.chromium.org/1239053004 BUG=v8:4134 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1235603004 Cr-Commit-Position: refs/heads/master@{#29742}
-
- 17 Jul, 2015 2 commits
-
-
machenbach authored
Revert of Make d8 stop using to-be-deprecated APIs (patchset #3 id:40001 of https://codereview.chromium.org/1239053004/) Reason for revert: [Sheriff] Breaks: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20code%20serializer/builds/3400 Original issue's description: > Make d8 stop using to-be-deprecated APIs > > BUG=v8:4134 > LOG=n > R=yangguo@chromium.org > > Committed: https://crrev.com/af82ef84b4f851411f00e69167ab29382c7499b8 > Cr-Commit-Position: refs/heads/master@{#29726} TBR=yangguo@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4134 Review URL: https://codereview.chromium.org/1240993003 Cr-Commit-Position: refs/heads/master@{#29730}
-
jochen authored
BUG=v8:4134 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1239053004 Cr-Commit-Position: refs/heads/master@{#29726}
-
- 16 Jul, 2015 1 commit
-
-
binji authored
Calling quit() from d8 will call exit(), which will run static destructors. If context_mutex_ is statically allocated, pthread_mutex_destroy will be called. When running d8 in "isolates" mode, another thread may be running. If it calls CreateEvaluationContext, it will lock the context_mutex_. If the mutex is destroyed while it is locked, it will return an error. This CL changes the Mutex to a LazyMutex, which will leak instead of being destroyed. BUG=v8:4279 R=jarin@chromium.org R=machenbach@chromium.org LOG=n Review URL: https://codereview.chromium.org/1240553003 Cr-Commit-Position: refs/heads/master@{#29709}
-
- 15 Jul, 2015 1 commit
-
-
epertoso authored
R=jochen@chromium.org LOG=y BUG= Review URL: https://codereview.chromium.org/1209403005 Cr-Commit-Position: refs/heads/master@{#29680}
-
- 14 Jul, 2015 4 commits
-
-
binji authored
Reland of d8 workers: make sure Shell::Quit is only called once (patchset #1 id:1 of https://codereview.chromium.org/1235083004/) Reason for revert: Looks like the failure is unrelated to my change (still fails after the revert). See http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/856/steps/webkit_unit_tests/logs/stdio Original issue's description: > Revert of d8 workers: make sure Shell::Quit is only called once (patchset #5 id:80001 of https://codereview.chromium.org/1230403003/) > > Reason for revert: > Breaks webkit_unit_tests. See http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/853/steps/webkit_unit_tests/logs/stdio > > Original issue's description: > > d8 workers: make sure Shell::Quit is only called once > > > > When running with isolates, Quit can be called simultaneously by two threads. > > If this happens, then both threads try to clean up the Workers, which could > > crash. > > > > BUG=v8:4279 > > R=jarin@chromium.org > > R=machenbach@chromium.org > > LOG=n > > > > Committed: https://crrev.com/76184292b392d107609f21662a949b58bb1e258c > > Cr-Commit-Position: refs/heads/master@{#29654} > > TBR=jarin@chromium.org,machenbach@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4279 > > Committed: https://crrev.com/6b2c6eb75678747afca59b4a78ace597e218145d > Cr-Commit-Position: refs/heads/master@{#29656} TBR=jarin@chromium.org,machenbach@chromium.org,adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4279 Review URL: https://codereview.chromium.org/1224203004 Cr-Commit-Position: refs/heads/master@{#29663}
-
binji authored
Note: the previous try was reverted for occasional flaky tests. This continued after the revert, and should be fixed by https://codereview.chromium.org/1226143003. Previously, the serialization code would call Externalize for every transferred ArrayBuffer or SharedArrayBuffer, but that function can only be called once. If the buffer is already externalized, we should call GetContents instead. Also fix use-after-free bug when transferring ArrayBuffers. The transferred ArrayBuffer must be internalized in the new isolate, or be managed by the Shell. The current code gives it to the isolate externalized and frees it immediately afterward when the SerializationData object is destroyed. BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1223813008 Cr-Commit-Position: refs/heads/master@{#29658}
-
binji authored
Revert of d8 workers: make sure Shell::Quit is only called once (patchset #5 id:80001 of https://codereview.chromium.org/1230403003/) Reason for revert: Breaks webkit_unit_tests. See http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/853/steps/webkit_unit_tests/logs/stdio Original issue's description: > d8 workers: make sure Shell::Quit is only called once > > When running with isolates, Quit can be called simultaneously by two threads. > If this happens, then both threads try to clean up the Workers, which could > crash. > > BUG=v8:4279 > R=jarin@chromium.org > R=machenbach@chromium.org > LOG=n > > Committed: https://crrev.com/76184292b392d107609f21662a949b58bb1e258c > Cr-Commit-Position: refs/heads/master@{#29654} TBR=jarin@chromium.org,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4279 Review URL: https://codereview.chromium.org/1235083004 Cr-Commit-Position: refs/heads/master@{#29656}
-
binji authored
When running with isolates, Quit can be called simultaneously by two threads. If this happens, then both threads try to clean up the Workers, which could crash. BUG=v8:4279 R=jarin@chromium.org R=machenbach@chromium.org LOG=n Review URL: https://codereview.chromium.org/1230403003 Cr-Commit-Position: refs/heads/master@{#29654}
-
- 13 Jul, 2015 2 commits
-
-
binji authored
* Fix embarrassing bug in DeserializeValue, using a static buffer in multithreaded code. * Fix thread leak when Worker.terminate() is not called. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1226143003 Cr-Commit-Position: refs/heads/master@{#29626}
-
rmcilroy authored
Review URL: https://codereview.chromium.org/1221433021 Cr-Commit-Position: refs/heads/master@{#29604}
-
- 07 Jul, 2015 1 commit
-
-
machenbach authored
Revert of Fix bug when transferring SharedArrayBuffer to multiple Workers. (patchset #3 id:40001 of https://codereview.chromium.org/1215233004/) Reason for revert: [Sheriff] Test hangs sometimes and times out flakily. E.g.: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosse3/builds/4551/steps/Check%20%28flakes%29/logs/d8-worker-sharedarray.. Original issue's description: > Fix bug when transferring SharedArrayBuffer to multiple Workers. > > Previously, the serialization code would call Externalize for every transferred > ArrayBuffer or SharedArrayBuffer, but that function can only be called once. If > the buffer is already externalized, we should call GetContents instead. > > Also fix use-after-free bug when transferring ArrayBuffers. The transferred > ArrayBuffer must be internalized in the new isolate, or be managed by the > Shell. The current code gives it to the isolate externalized and frees it > immediately afterward when the SerializationData object is destroyed. > > BUG=chromium:497295 > R=jarin@chromium.org > LOG=n > > Committed: https://crrev.com/dd7962bf7838f8379ba776ee6b7b0e4d3bec2140 > Cr-Commit-Position: refs/heads/master@{#29499} TBR=jarin@chromium.org,jochen@chromium.org,binji@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:497295 Review URL: https://codereview.chromium.org/1224843008 Cr-Commit-Position: refs/heads/master@{#29506}
-
- 06 Jul, 2015 1 commit
-
-
binji authored
Previously, the serialization code would call Externalize for every transferred ArrayBuffer or SharedArrayBuffer, but that function can only be called once. If the buffer is already externalized, we should call GetContents instead. Also fix use-after-free bug when transferring ArrayBuffers. The transferred ArrayBuffer must be internalized in the new isolate, or be managed by the Shell. The current code gives it to the isolate externalized and frees it immediately afterward when the SerializationData object is destroyed. BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1215233004 Cr-Commit-Position: refs/heads/master@{#29499}
-
- 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}
-
- 12 Jun, 2015 1 commit
-
-
binji authored
BUG=none LOG=n Review URL: https://codereview.chromium.org/1184853003 Cr-Commit-Position: refs/heads/master@{#29006}
-
- 03 Jun, 2015 1 commit
-
-
ishell authored
BUG=chromium:493284 LOG=N Review URL: https://codereview.chromium.org/1147343004 Cr-Commit-Position: refs/heads/master@{#28790}
-
- 22 Apr, 2015 1 commit
-
-
svenpanne authored
Review URL: https://codereview.chromium.org/1101683002 Cr-Commit-Position: refs/heads/master@{#28004}
-
- 20 Apr, 2015 1 commit
-
-
jochen authored
Embedders should use ArrayBuffers instead BUG=v8:3996 LOG=y R=verwaest@chromium.org,dslomov@chromium.org,kbr@chromium.org Review URL: https://codereview.chromium.org/1092923002 Cr-Commit-Position: refs/heads/master@{#27939}
-
- 13 Apr, 2015 1 commit
-
-
adamk authored
This avoids both a mysterious boolean argument ("insert") and lets non-mutating lookups skip passing an allocator (in one such case, we were passing a scary-looking ZoneAllocationPolicy(NULL)!). Review URL: https://codereview.chromium.org/1074943002 Cr-Commit-Position: refs/heads/master@{#27799}
-
- 10 Feb, 2015 1 commit
-
-
adamk authored
Adding the line "// MODULE" to an mjsunit file will now cause run-tests.py to prefix the test case with "--module" in the d8 commandline. d8 has itself been updated to treat files preceded with "--module" as modules (that is, it compiles them with ScriptCompiler::CompileModule, and turns on --harmony-modules). Review URL: https://codereview.chromium.org/902263002 Cr-Commit-Position: refs/heads/master@{#26555}
-
- 21 Nov, 2014 1 commit
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/753483002 Cr-Commit-Position: refs/heads/master@{#25453}
-
- 10 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=dcarney@chromium.org, marja@chromium.org Review URL: https://codereview.chromium.org/559913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/531683002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jul, 2014 1 commit
-
-
vogelheim@chromium.org authored
(parser or code) and to be explicit about cache consumption or production (rather than making presence of cached_data imply one or the other.) Also add a --cache flag to d8, to allow testing the functionality. ----------------------------- API change Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any). Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present. Changes from old behaviour: - If you previously didn't use caching, nothing changes. Example: v8::CompileUnbound(isolate, source, kNoCompileOptions); - If you previously used caching, it worked like this: - 1st run: v8::CompileUnbound(isolate, source, kProduceToCache); Then, source->cached_data would contain the data-to-be cached. This remains the same, except you need to tell V8 which type of data you want. v8::CompileUnbound(isolate, source, kProduceParserCache); - 2nd run: v8::CompileUnbound(isolate, source, kNoCompileOptions); with source->cached_data set to the data you received in the first run. This will now ignore the cached data, and you need to explicitly tell V8 to use it: v8::CompileUnbound(isolate, source, kConsumeParserCache); ----------------------------- BUG= R=marja@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/389573006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2014 1 commit
-
-
jochen@chromium.org authored
The callbacks are per isolate, so we shouldn't get the isolate implicitly from TLS. Also, we shouldn't allow calls to these methods prior to initializing the respective isolate (and silently ignore them). Esp. add a per-isolate API to set the stats counter callbacks and make it possible to set the stats counter callback after the isolate was touched. Embedders should use e.g. isolate->SetCounterFunction(callback) instead of v8::V8::SetCounterFunction(callback). BUG=none R=svenpanne@chromium.org LOG=y Review URL: https://codereview.chromium.org/365153002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jun, 2014 1 commit
-
-
vogelheim@chromium.org authored
[Re-retry of r21696 and r21739] If the embedder chooses, the 'natives' (library sources) and the precompiled startup blob can be written to files during the build process and handed over to V8 at startup. The main purpose would be to reduce the size of the compiled binary for space constrained platforms. The build-time option is off by default. Nothing should change if it's not enabled. BUG= R=jochen@chromium.org Review URL: https://codereview.chromium.org/334913004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-