mvstanton@chromium.org
8f9f192f6e
AllocationSites for all literals
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24250005
Review URL: https://codereview.chromium.org/27366003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 08:10:36 +00:00
mvstanton@chromium.org
f4edc076d8
Revert "AllocationSites for all literals"
...
This reverts commit r17219 due to WebKit failures.
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/26539010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 15:35:23 +00:00
mvstanton@chromium.org
362c0cfbca
AllocationSites for all literals
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24250005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 14:52:58 +00:00
ulan@chromium.org
83c63cf555
Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
...
Second stage of implementing an out-of-line constant pool on Arm. This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools. Nothing uses this object yet.
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22601003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:35:06 +00:00
jkummerow@chromium.org
2e3057c69f
Add additional postmortem debugging metadata to support decoding two-byte
...
strings, sliced strings, and changes to some object property representations.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/26034002
Patch from David Pacheco <dap@joyent.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:08:52 +00:00
titzer@chromium.org
d67585f060
Implement first version of HFlowEngine, a framework for performing global flow-sensitive analyses.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/25254002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:00:42 +00:00
mstarzinger@chromium.org
3c8e87d840
Remove obsolete preparser binary.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/25277003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:21:23 +00:00
jkummerow@chromium.org
1cc549747e
Fix shared_library build after r17107
...
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/26004003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 14:53:16 +00:00
jkummerow@chromium.org
07b15bdfc1
Explicitly include defaults.cc in the shared_library gyp target.
...
Explicitly include defaults.cc in the shared_library gyp target, otherwise
the whole compilation unit is stripped by the Windows linker, since none of it's
symbols are referenced by any other compilation unit in V8.
BUG=None
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/25994002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 11:57:42 +00:00
danno@chromium.org
908a7dc2a8
Improve and simplify removal of unreachable code
...
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions.
- Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation.
BUG=chromium:258519
R=jkummerow@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22876009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:43:41 +00:00
jochen@chromium.org
02b160f35c
Remove parallel marking support.
...
The framework isn't used, and won't be used in the near future
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/25260003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:06:43 +00:00
jkummerow@chromium.org
a01e029882
Delete references to old_statusfile.py
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/24576002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 09:52:21 +00:00
yangguo@chromium.org
7f1fd5e16c
Restrict recorded execution pauses to the required range.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24997003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:45:17 +00:00
hpayer@chromium.org
4c01c4040a
Re-land "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime."
...
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous. This change also adds OS::TotalPhysicalMemory to platform.h.
The re-land fix the performance regression caused by accidental change in default max young space size.
BUG=292928
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24989003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:53:07 +00:00
machenbach@chromium.org
936802ae21
Revert "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime." and "Fix Windows build of defaults.cc."
...
This reverts commit r16964 and r16968 due to performance regressions in octane.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24996003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:45:14 +00:00
titzer@chromium.org
d441160cab
Implement local check elimination on basic blocks.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23866016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 16:25:57 +00:00
hpayer@chromium.org
a57300fb9e
Add methods to enable configuration of ResourceConstraints based on limits derived at runtime.
...
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous. This change also adds OS::TotalPhysicalMemory to platform.h.
BUG=292928
R=danno@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/24269003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 13:31:19 +00:00
machenbach@chromium.org
0cb81e8e62
Add windows to status variable list.
...
This will allow to modify test expectation for system==windows.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/24528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 12:37:00 +00:00
yangguo@chromium.org
b8534d6a82
Scripts should not care about closed tree when committing.
...
I just got bitten by this when merging to branch.
R=jkummerow@chromium.org , machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24254005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 13:35:45 +00:00
bmeurer@chromium.org
227bd35489
Avoid fallback to weak entropy for the PRNGs on Windows.
...
Add fallback to rand_s() to gather entropy on Windows for
seeding the random number generator. This is compatible
with what Blink does.
BUG=v8:2905
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/24315007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 13:27:58 +00:00
jkummerow@chromium.org
e7130a1e2b
Migrate to new test status file syntax
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23498058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 12:08:33 +00:00
ulan@chromium.org
9de5748460
Android: sync test/intl to device and disable default-locale.js test.
...
R=jochen@chromium.org
Review URL: https://chromiumcodereview.appspot.com/24031008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 11:49:33 +00:00
bmeurer@chromium.org
2897c86607
Fix build after r16890.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23969011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 14:24:33 +00:00
jochen@chromium.org
a3cef1a9db
Skip tests failing on the no-i18n bot
...
R=machenbach@chromium.org , mstarzinger@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23708055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 13:13:57 +00:00
machenbach@chromium.org
1a3f3b0569
Skip intl tests from test262 when intl support is disabled.
...
Skips the whole intl directory if intl support is disabled through the test driver.
One test outside the intl directory is skipped separately. It will be handled in an extra CL.
R=jochen@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23792008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 09:26:25 +00:00
jochen@chromium.org
416f2a9ba7
Turn on i18n support by default
...
This reverts commit r16789
BUG=none
R=machenbach@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23522063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 12:07:03 +00:00
verwaest@chromium.org
8754a25197
Fix string and descriptor array decoding in grokdump.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23465027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:37:31 +00:00
machenbach@chromium.org
eca42c42cb
Revert "Turn on i18n support by default", "Update test262 expectations, now that 15.5.4.9_CE passes", "Make testing i18n the default.", "Mark two failing mozilla tests as failing.", "Mark mozilla tests as flaky instead of failing" and "Fix test expectations for i18n."
...
This reverts commit 16783-16788 due to several crashers on nosnap builder.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/23455055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 13:50:00 +00:00
machenbach@chromium.org
7e0cc85765
Make testing i18n the default.
...
If i18n support is on when building with make, the intl test suite is automatically run with "check".
On the bots, we'll turn it off explicitly, where required.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/23702044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 08:58:01 +00:00
titzer@chromium.org
05797e77fd
Implement local load/store elimination on basic blocks.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/24117004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 15:32:21 +00:00
ulan@chromium.org
4a90f2e17b
Adjust Android test runner to push tools/profviz to device.
...
R=bmeurer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23567041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 12:17:47 +00:00
jochen@chromium.org
b3310c3a98
Use icu_gyp_path variable to reference ICU gyp file
...
That way, embedders can put the icu sources whereever they want and
aren't forced to put them under third_party/gyp
BUG=none
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23598011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 08:31:56 +00:00
jochen@chromium.org
c5b3ce0671
Snapshot i18n Javascript code
...
The previous attempt used Boolean instead of $Boolean.
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23622028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 13:50:38 +00:00
titzer@chromium.org
dc901fae7f
First implementation of HUnique<T> and HUniqueSet<T>, which is supposed to replace UniqueValueId.
...
BUG=
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/23609020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 12:08:54 +00:00
machenbach@chromium.org
9a11424a6a
Revert "Increase test timeout on slow architectures."
...
This reverts commit 200c7cbdbc90ec2001ee4e0da7470cb508585e0d.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23475036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 07:39:44 +00:00
mstarzinger@chromium.org
718a6a9a9e
Revert r16648, r16641, r16638 and r16637.
...
Original descriptions were:
- "Refactor and cleanup VirtualMemory."
- "Fix typo."
- "Deuglify V8_INLINE and V8_NOINLINE."
- "Don't align size on allocation granularity for unaligned ReserveRegion calls."
Reasons for the revert are:
- Our mjsunit test suite slower by a factor of 5(!) in release mode.
- Flaky cctest/test-alloc/CodeRange on all architectures and platforms.
- Tankage of Sunspider by about 6% overall (unverified).
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23970004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 18:30:01 +00:00
titzer@chromium.org
8656dfdff9
Implement simplistic local alias analysis, which will be used in both check elimination and load elimination.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23516010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:53:56 +00:00
titzer@chromium.org
562d8ddcb9
Remove dead strings from heap.h
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23600023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:58:38 +00:00
bmeurer@chromium.org
a797a35975
Refactor and cleanup VirtualMemory.
...
Remove a lot of platform duplication, and simplify the virtual
memory implementation. Also improve readability by avoiding bool
parameters for executability (use a dedicated Executability type
instead).
Get rid of the Isolate::UncheckedCurrent() call in the platform
code, as part of the Isolate TLS cleanup.
Use a dedicated random number generator for the address
randomization, instead of messing with the per-isolate random
number generators.
TEST=cctest/test-virtual-memory
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23641009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:47:02 +00:00
bmeurer@chromium.org
eb381b9444
Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context.
...
The RandomNumberGenerator is a pseudorandom number generator
with 48-bit state. It is properly seeded using either
(1) the --random-seed if specified, or
(2) the entropy_source function if configured, or
(3) /dev/urandom if available, or
(4) falls back to Time and TimeTicks based seeding.
Each Isolate now contains a RandomNumberGenerator, which replaces
the previous private_random_seed.
Every native context still has its own random_seed. But this random
seed is now properly initialized during bootstrapping,
instead of on-demand initialization. This will allow us to cleanup
and speedup the HRandom implementation quite a lot (this is delayed
for a followup CL)!
Also stop messing with the system rand()/random(), which should
not be done from a library anyway! We probably re-seeded the
libc rand()/random() after the application (i.e. Chrome) already
seeded it (with better entropy than what we used).
Another followup CL will replace the use of the per-isolate
random number generator for the address randomization and
thereby get rid of the Isolate::UncheckedCurrent() usage in
the platform code.
TEST=cctest/test-random-number-generator,cctest/test-random
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23548024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 11:13:55 +00:00
machenbach@chromium.org
119b59ac5d
Increase test timeout on slow architectures.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/24037002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-08 19:50:55 +00:00
yangguo@chromium.org
96d85bb89b
Add better consistency check and error output to plot script.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23736004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 15:19:21 +00:00
bmeurer@chromium.org
8f8222e9ad
Cleanup Socket class and remove it from the platform files.
...
Move the Socket class to dedicated platform/socket.{cc,h} files.
Cleaned up the implementation to allow for more code sharing.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23484014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 10:41:51 +00:00
dcarney@chromium.org
615c34869c
Push SetAccessor to Template
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23182003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 07:45:36 +00:00
bmeurer@chromium.org
281de965a4
Import ConditionVariable class.
...
Condition variables are synchronization primitives that can be used
to block one or more threads while waiting for condition to become
true.
Right now we have only semaphores, mutexes and atomic operations for
synchronization, which results in quite complex solutions where an
implementation using condition variables and mutexes would be straight
forward.
There's also a performance benefit to condition variables and mutexes
vs semaphores, especially on Windows, where semaphores are kernel
objects, while mutexes are implemented as fast critical sections,
it CAN be beneficial performance-wise to use condition variables
instead of semaphores.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23548007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 07:30:01 +00:00
bmeurer@chromium.org
fead0d0600
Cleanup Semaphore class.
...
Drop the previous Semaphore class from platform files.
Add new Semaphore class using the new TimeDelta class for
the WaitFor() operation. Consistently assert correct behaviour
for the different implementations.
Improve test coverage of the Semaphore class.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23748003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:26:06 +00:00
bmeurer@chromium.org
9615b8c4c9
Fix definition of V8_LIBRT_NOT_AVAILABLE in v8.gyp since we test for it using #elif in time.cc.
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23718004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-01 15:03:36 +00:00
bmeurer@chromium.org
68488915c7
Work-around missing librt for cross-compiling Chrome for Android in AOSP.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23819005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 14:10:13 +00:00
bmeurer@chromium.org
e76482f2da
Cleanup Mutex and related classes.
...
Drop the previous Mutex and ScopedLock classes from platform files.
Add new Mutex, RecursiveMutex and LockGuard classes, which are
designed after their C++11 counterparts, so that at some point
we can simply drop our custom code and switch to the C++11
classes. We distinguish regular and recursive mutexes, as the
latter don't work well with condition variables, which will be
introduced by a followup CL.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:58:30 +00:00
bmeurer@chromium.org
b320dfcf58
Reland^2 "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
The previous Windows issues have been resolved, and we now use GetTickCount64()
on Windows Vista and later, falling back to timeGetTime() with rollover
protection for earlier Windows versions.
BUG=v8:2853
R=machenbach@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/23490015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:15:13 +00:00