ulan
67f3103a26
Reland "Check for semaphore alignment on posix platforms. (patchset #1 id:1 of https://codereview.chromium.org/1912923003/ )"
...
This patch also fixed three misaligned semaphores.
This reverts commit 80c73e2cde
.
BUG=chromium:605349
LOG=NO
Review URL: https://codereview.chromium.org/1917923002
Cr-Commit-Position: refs/heads/master@{#35773}
2016-04-25 18:12:18 +00:00
mlippautz
0395c50c60
Reland of "[platform] Change default platform max thread pool size 4 -> 8"
...
This reverts commit 4857110ce6
.
This change was flushing out another issue which is fixed in
https://codereview.chromium.org/1783283003/
BUG=v8:2999
LOG=N
Review URL: https://codereview.chromium.org/1785933003
Cr-Commit-Position: refs/heads/master@{#34874}
2016-03-17 20:22:50 +00:00
mlippautz
4857110ce6
Revert of [platform] Change default platform max thread pool size 4 -> 8 (patchset #1 id:1 of https://codereview.chromium.org/1782833006/ )
...
Reason for revert:
Seems to trigger bugs, needs investigation.
Original issue's description:
> [platform] Change default platform max thread pool size 4 -> 8
>
> BUG=
>
> Committed: https://crrev.com/ddc0f9982057e76dd4dc35b6ca80d2322adc9141
> Cr-Commit-Position: refs/heads/master@{#34711}
TBR=hpayer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1780353003
Cr-Commit-Position: refs/heads/master@{#34714}
2016-03-11 11:01:53 +00:00
mlippautz
ddc0f99820
[platform] Change default platform max thread pool size 4 -> 8
...
BUG=
Review URL: https://codereview.chromium.org/1782833006
Cr-Commit-Position: refs/heads/master@{#34711}
2016-03-11 10:21:08 +00:00
fmeawad
f3fcdcfa1a
[Tracing] Remove deprecated AddTraceEvent
...
This should land after the chromium CL that starts using the new AddTraceEvent lands
(https://codereview.chromium.org/1742603004/ )
BUG=4565
LOG=N
Review URL: https://codereview.chromium.org/1744733002
Cr-Commit-Position: refs/heads/master@{#34412}
2016-03-01 21:20:48 +00:00
fmeawad
567e58390d
Reland: Add Scoped Context Info (Isolate) to V8 Traces
...
This patch adds the newly added support for contexts in V8 Tracing, as well
as use it to mark all the entry points for a V8 Isolate.
Update for reland: The current tracing interface needs to be updated (AddTraceEvent),
but the embedders need to migrate to the new version before removing the old version.
(Reland of: https://codereview.chromium.org/1686233002 )
The revert happened because the 2 signatures of the old and new AddTraceEvent where different
so it threw an overload-virtual error on cross arm debug. This issue is temporary, and to solve
it, I added an implementation of the old and new everywhere until the embedder implements the new.
BUG=v8:4565
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1704253002
Cr-Commit-Position: refs/heads/master@{#34332}
2016-02-26 17:25:30 +00:00
machenbach
8934994e36
Revert of Add Scoped Context Info (Isolate) to V8 Traces (patchset #5 id:80001 of https://codereview.chromium.org/1686233002/ )
...
Reason for revert:
[Sheriff] Breaks arm cross-compile:
https://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20builder/builds/7825/
Original issue's description:
> Add Scoped Context Info (Isolate) to V8 Traces
>
> This patch adds the newly added support for contexts in V8 Tracing, as well
> as use it to mark all the entry points for a V8 Isolate.
>
> BUG=v8:4565
> LOG=N
>
> Committed: https://crrev.com/44823c3c6965966c63b7e2e2361d0f2a58d196ea
> Cr-Commit-Position: refs/heads/master@{#34092}
TBR=jochen@chromium.org ,fmeawad@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4565
Review URL: https://codereview.chromium.org/1710573002
Cr-Commit-Position: refs/heads/master@{#34095}
2016-02-17 20:30:44 +00:00
fmeawad
44823c3c69
Add Scoped Context Info (Isolate) to V8 Traces
...
This patch adds the newly added support for contexts in V8 Tracing, as well
as use it to mark all the entry points for a V8 Isolate.
BUG=v8:4565
LOG=N
Review URL: https://codereview.chromium.org/1686233002
Cr-Commit-Position: refs/heads/master@{#34092}
2016-02-17 19:56:33 +00:00
mlippautz
f222240374
[platform] Add NumberOfAvailableBackgroundThreads
...
The call can be used by the embedder to provide information on the workers
executing background tasks.
BUG=chromium:524425
LOG=N
Review URL: https://codereview.chromium.org/1664203004
Cr-Commit-Position: refs/heads/master@{#33788}
2016-02-05 15:37:37 +00:00
fmeawad
70a7c754bf
Implement tracing interface for v8
...
This is based on the Skia Implementation.
More on the project can be found here:
https://docs.google.com/a/chromium.org/document/d/1_4LAnInOB8tM_DLjptWiszRwa4qwiSsDzMkO4tU-Qes/edit#heading=h.p97rw6yt8o2j
The V8 Tracing platform will replace the isolate->event_logger().
But since the current embedders (namely chromium) currently use the isolate->event_logger, I made the default implementation (event-tracer) call into isolate->event_logger if an event_logger was set.
Once the embedders properly implement the interface (for example in chromium it would look like this: https://codereview.chromium.org/707273005/ ), the default implementation will be doing nothing.
Once the embedders side is fixed, we will change how V8 uses the tracing framework beyond the call from Logger:CallEventLogger. (which would also include a d8 implementation)
BUG=v8:4560
LOG=N
Review URL: https://codereview.chromium.org/988893003
Cr-Commit-Position: refs/heads/master@{#32959}
2015-12-17 18:48:35 +00:00
ishell
7d7eee513a
[presubmit] Enabling readability/inheritance linter checking.
...
Review URL: https://codereview.chromium.org/1412223018
Cr-Commit-Position: refs/heads/master@{#31785}
2015-11-04 13:08:42 +00:00
mstarzinger
6a769ac1df
[presubmit] Enable readability/namespace linter checking.
...
This enables linter checking for "readability/namespace" violations
during presubmit and instead marks the few known exceptions that we
allow explicitly.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/1371083003
Cr-Commit-Position: refs/heads/master@{#31019}
2015-09-30 13:47:11 +00:00
ulan
a9c7712eb8
Add IdleTask API to v8::Platform.
...
BUG=chromium:490559
LOG=NO
Review URL: https://codereview.chromium.org/1225713003
Cr-Commit-Position: refs/heads/master@{#29676}
2015-07-15 11:51:03 +00:00
ulan
d202501199
Fix data-race in default implementation of delayed task.
...
BUG=
Review URL: https://codereview.chromium.org/1222203003
Cr-Commit-Position: refs/heads/master@{#29458}
2015-07-02 18:25:49 +00:00
ulan
3f5d39a1d6
Fix memory-leak in default platform implementation of delayed tasks.
...
BUG=
Review URL: https://codereview.chromium.org/1221083004
Cr-Commit-Position: refs/heads/master@{#29446}
2015-07-02 14:37:32 +00:00
ulan
31e3177bb0
Add V8 platform API to call delayed task.
...
Delayed tasks can be used to perform non-urgent clean up work.
BUG=chromium:490559
LOG=NO
Review URL: https://codereview.chromium.org/1179153002
Cr-Commit-Position: refs/heads/master@{#29084}
2015-06-17 12:09:40 +00:00
Ross McIlroy
063fc25122
Replace OVERRIDE->override and FINAL->final since we now require C++11.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1088993003
Cr-Commit-Position: refs/heads/master@{#27937}
2015-04-20 13:08:14 +00:00
jochen
83f827a00b
Add initial set of sub directory OWNERS file
...
BUG=none
R=danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/960903003
Cr-Commit-Position: refs/heads/master@{#27579}
2015-04-02 08:46:24 +00:00
svenpanne
71bb00e261
Consistently use only one of virtual/OVERRIDE/FINAL.
...
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use
more than one of these. The Google C++ style guide even requires this, see
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance .
While we're here, port r24662 to x87.
The net result is that v8 compiles again with a current clang.
BUG=v8:3753
LOG=y
Review URL: https://codereview.chromium.org/797943002
Cr-Commit-Position: refs/heads/master@{#25792}
2014-12-12 10:44:25 +00:00
rmcilroy@chromium.org
7cbe1ef9ca
Add MonotonicallyIncreasingTime to V8 Platform.
...
Adds a MonotonicallyIncreasingTime() function to the Platform API to enable the
embedder to provide a time API to V8 which will be used for IdleNotification deadlines.
BUG=417668
LOG=Y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/632663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 12:22:25 +00:00
bmeurer@chromium.org
bfd37ab267
Move unit tests to test/unittests.
...
As per discussion on the V8 team, this is the place we want them to live,
not following the Chrome Style Guide for this.
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/615393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:34:25 +00:00
bmeurer@chromium.org
30f18f0f7d
Use Chrome compatible naming for compiler specifics.
...
Less useless creativity is best creativity!
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/526223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:07:52 +00:00
bmeurer@chromium.org
4edcff907f
Refactor libplatform unit tests to use GTest/GMock.
...
Also migrate them to src.
BUG=v8:3489
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/526043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 07:13:55 +00:00
bmeurer@chromium.org
b8b9d10590
Sync our homegrown SysInfo replacement with the one in Chrome base.
...
Also fix several inconsistencies/bugs on the way.
TEST=base-unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/510693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:29:22 +00:00
mstarzinger@chromium.org
44247036a7
Fix newly discovered presubmit errors.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/462033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
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
2014-08-04 11:34:54 +00:00
jochen@chromium.org
c1231d426f
Add an API to pump the message loop to libplatform
...
BUG=none
LOG=n
R=marja@chromium.org
Review URL: https://codereview.chromium.org/363303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 09:33:36 +00:00
jochen@chromium.org
7b94143287
Don't even include v8.h from libbase or libplatform
...
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/369073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:50:52 +00:00
jochen@chromium.org
ca16bb7ae2
Split out libplatform into a separate libary
...
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.
Change all binaries to use the default platfrom from libplatform.
Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).
BUG=none
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/345903004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
jochen@chromium.org
3c62545377
Move libplatform files into v8::platform namespace
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/336313017
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 08:15:09 +00:00
jochen@chromium.org
a4506cd3f2
Move platform abstraction to base library
...
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
2014-06-30 13:25:46 +00:00
mstarzinger@chromium.org
fec6e62dfb
Check alpha-sorting of includes during presubmit.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
jochen@chromium.org
a980e51471
Add DEPS files and run checkdeps in presubmit check
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/312763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:39:42 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
jochen@chromium.org
f9e0a90340
Drop unused includes from worker-thread.cc
...
BUG=none
R=marja@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302463007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:58:51 +00:00
jochen@chromium.org
0f73456d3f
Move NumberOfProcessorsOnline from CPU to OS
...
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 15:18:45 +00:00
bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
jochen@chromium.org
65a983a481
Reland 20962 "Break cyclic reference between utils and platform."
...
Don't use OS::MemCopy in BitCast. It's crucial that the compiler can
optimize the memcpy away.
> Platform includes utils.h for the definition of Vector<>, so utils.h
> can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
> We split out Vector<> into its own header to break this cycle
> dependency.
>
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/251753002
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/252683004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:43:58 +00:00
jochen@chromium.org
4ed16eaec5
Revert 20962 "Break cyclic reference between utils and platform."
...
> Platform includes utils.h for the definition of Vector<>, so utils.h
> can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
> We split out Vector<> into its own header to break this cycle
> dependency.
>
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/251753002
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/254823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:23:11 +00:00
jochen@chromium.org
79be539892
Break cyclic reference between utils and platform.
...
Platform includes utils.h for the definition of Vector<>, so utils.h
can't include platform.h and has to use memcpy instead of OS::MemCopy.
We split out Vector<> into its own header to break this cycle
dependency.
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/251753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:37:18 +00:00
jochen@chromium.org
88dc054f39
Extract common macros and start a base library
...
BUG=v8:3015
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/249183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 11:51:28 +00:00
jochen@chromium.org
5275240eba
Ensure that the worker pool is running if we intend to use it
...
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/170483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 19:32:27 +00:00
jochen@chromium.org
fdbf271b78
Always terminate the task queue
...
BUG=none
LOG=n
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/107503005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 09:09:04 +00:00
jochen@chromium.org
1b93245a76
Lazily initialize thread pool to avoid allocating all the threads during startup
...
R=hpayer@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/98123004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 08:34:42 +00:00
jochen@chromium.org
e6ef64c590
[platform] Implement a worker pool
...
We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.
I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.
BUG=v8:3015
R=hpayer@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/104583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:52:58 +00:00