bmeurer@chromium.org
e2b4525397
Reland "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).
BUG=v8:2853
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23469013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 13:03:06 +00:00
verwaest@chromium.org
9d0b1590a5
Reuse AddFastPropertyUsingMap in AddFastProperty
...
R=bmeurer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23465008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 13:01:53 +00:00
verwaest@chromium.org
652b174cfc
Merge verbatim descriptors from other (the descriptor of the map being updated) rather than this (descriptors of the most updated map found in the transition tree).
...
BUG=v8:2863
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23676003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:37:14 +00:00
verwaest@chromium.org
24bbfdfa53
Simplify logic by extracting local lookup before the switch.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22901034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:36:46 +00:00
mstarzinger@chromium.org
3b616a74ea
Fix lost store side effects with escape analysis.
...
This preserves side effects from stores in HCapturedObject markers so
that simulates following these markers are not merged away.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis --deopt-every-n-times [3,6,9]
Review URL: https://codereview.chromium.org/23554003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:36:32 +00:00
hpayer@chromium.org
65843dbf3a
Insert allocation memento clear instructions after the dominating allocate instruction.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23672004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:35:07 +00:00
bmeurer@chromium.org
caca2b32cf
Replace OS::NumberOfCores() with CPU::NumberOfProcessorsOnline().
...
The name NumberOfCores is misleading, as it does not return the
actual number of cores. While NumberOfProcessorsOnline is also
not a great name, it's at least consistent with the operating
system terminology.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23655004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 12:32:56 +00:00
bmeurer@chromium.org
1d3f6815e3
Revert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
This reverts commit r16390 for breaking the Windows build. Will
reland fixed version, which also uses the platform/ folder instead
of time/ folder as per offline discussion.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23690003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 11:38:20 +00:00
bmeurer@chromium.org
fa5216a145
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).
BUG=v8:2853
R=machenbach@chromium.org , yurys@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=16388
Review URL: https://codereview.chromium.org/23295034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 11:06:11 +00:00
bmeurer@chromium.org
cfb126c52a
Revert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
...
This reverts commit r16388 for breaking build due to merge typo,
will reland with typo fixed.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/23698002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 11:04:40 +00:00
bmeurer@chromium.org
8faf4d4291
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).
BUG=v8:2853
R=machenbach@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/23295034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 10:59:07 +00:00
machenbach@chromium.org
f156ae5282
Mark cpu profiler tests as flaky to avoid tree closing.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23600003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 10:50:42 +00:00
bmeurer@chromium.org
bc4129c705
Fix accidential inclusion of <intrin.h> into namespace v8::internal.
...
Also cleanup the fallback __cpuid() implementation, and add
a comment about preserving the GOT pointer in case of PIC.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/23464014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 09:53:13 +00:00
bmeurer@chromium.org
f60defde22
Drop unused and undocumented dummy_ from SaveContext.
...
Also remove the obsolte __GNUC_VERSION__ #define.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23522003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 09:40:47 +00:00
verwaest@chromium.org
f23e30494d
Prepare push to trunk. Now working on version 3.21.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/23494008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:40:30 +00:00
hpayer@chromium.org
4d7375ca98
Clear next map word when folding allocations into js arrays.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/22915007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:39:43 +00:00
bmeurer@chromium.org
50f3a993e7
Fix compilation with recent MinGW64 versions.
...
Don't check for WIN32 define. Use V8_OS_* macros whenever
possible, and if not use _WIN32.
BUG=v8:2300
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23687003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 08:35:04 +00:00
yurys@chromium.org
4f60ee6bd7
Remove deprecated methods from debugger API
...
Deleting SetDebugEventListener and SetMessageHandler from v8::Debug. this methods were deprecated in 3.20
https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-debug.h but in fact they have been superseded by SetDebugEventListener2 and SetMessageHandler2 long ago.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23576002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 07:11:37 +00:00
bmeurer@chromium.org
eb64758d08
Cosmetic fix wrt to V8_INLINE usage in cpu.cc.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23535003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 07:08:32 +00:00
plind44@gmail.com
b45fa06231
MIPS: Fix return-value from Array.push stub when pushing non-SMI value
...
Load and update the arrays length in v0 to make sure the length gets
returned correctly when leaving the function.
Add new testcase.
TEST=mjsunit/array-push-non-smi-value
BUG=130022
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/23589002
Patch from fs <fs@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 05:23:51 +00:00
haitao.feng@intel.com
1e4f40775f
Introduce PushInt64AsTwoSmis and PopInt64AsTwoSmis macro instructions for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22348005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 01:07:31 +00:00
palfia@homejinni.com
6d1f0cc285
MIPS: Eliminate Smi check when changing from Smi to Integer32
...
Port r16362 (6dd68a5c)
BUG=
Review URL: https://codereview.chromium.org/23462004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 23:07:03 +00:00
palfia@homejinni.com
8a277a790e
MIPS: Eliminate intentional conversion from Smi to Int32 in HMul
...
Port r16361 (b41ab14c)
Original commit message:
If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check
Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi
Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.
BUG=
Review URL: https://codereview.chromium.org/23644002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 23:05:07 +00:00
palfia@homejinni.com
03644ab8df
MIPS: cleanup api callbacks now that handles are never returned directly
...
Port r16360 (72401868)
BUG=
Review URL: https://codereview.chromium.org/23604004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 23:02:35 +00:00
palfia@homejinni.com
42b63dcbcb
MIPS: Fix Cluster Fuzz stack frame corruption bug.
...
Port r16358 (a8a679b9)
BUG=
Review URL: https://codereview.chromium.org/23583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 22:55:30 +00:00
palfia@homejinni.com
44ab0e15fa
MIPS: Convert FastNewClosureStub into hydrogen.
...
Port r16356 (0a0ea300)
BUG=
Review URL: https://codereview.chromium.org/23618007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 22:53:25 +00:00
palfia@homejinni.com
a7be047223
MIPS: remove old style callbacks
...
Port r16354 (559bc02d)
BUG=
Review URL: https://codereview.chromium.org/23479007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 22:51:37 +00:00
yurys@chromium.org
dc670f4412
Remove implementation of CpuProfileNode methods deprecated in v8 3.20
...
GetTotalTime, GetSelfTime and GetTotalSamplesCount were deprecated in 3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-profiler.h ) and can be safely removed.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23554002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 15:12:04 +00:00
bmeurer@chromium.org
5857d951dd
Fix definition of V8_*_C() macros.
...
Make V8_INT64_C() and V8_UINT64_C() available in 32-bit mode as well,
so we can write readable constants (base 10) instead of having to
obfuscate them using V8_2PART_UINT64_C().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23557002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:16:34 +00:00
haitao.feng@intel.com
b2ca7e0b0a
Introduce SmiValuesAre31Bits and SmiValuesAre32Bits global predicate functions
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22350005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:13:40 +00:00
jkummerow@chromium.org
6be4e9455e
Fixed HMul::Canonicalize() to support SMI
...
Same idea for HDiv when the right oeprand is 1
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23176002
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:09:26 +00:00
bmeurer@chromium.org
6b760b92a3
Drop platform-nullos stuff, which was already horribly out-of-date for a long time.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23434004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:04:49 +00:00
verwaest@chromium.org
6479ea3379
Eliminate Smi check when changing from Smi to Integer32
...
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22824003
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:02:08 +00:00
verwaest@chromium.org
788811244e
Eliminate intentional conversion from Smi to Int32 in HMul
...
If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check
Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi
Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22600005
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:55:00 +00:00
dcarney@chromium.org
f55ba6b70a
cleanup api callbacks now that handles are never returned directly
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23588002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:41:44 +00:00
hpayer@chromium.org
6379e5dc41
Eliminated manual allocation folding in BuildCloneShallowArray.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23038003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:39:52 +00:00
hpayer@chromium.org
9d8684f8de
Fix Cluster Fuzz stack frame corruption bug.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23596002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 13:31:15 +00:00
hpayer@chromium.org
9f8f0c6d45
Prefill allocated objects with one word fillers if we do not use allocation folding.
...
BUG=
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/22903027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 12:03:56 +00:00
mvstanton@chromium.org
7fea193609
Convert FastNewClosureStub into hydrogen.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22562002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:55:08 +00:00
hpayer@chromium.org
dc6a16d6e0
Filler sizes have to be Smis, fix x64 breakage.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23577002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:51:03 +00:00
dcarney@chromium.org
166b6d0747
remove old style callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:47:52 +00:00
jkummerow@chromium.org
da037f9872
H-BuildIncrement should make use of available type feedback
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/22611009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:44:45 +00:00
machenbach@chromium.org
3cf14cf6cc
Add correct test case to nacl skip list.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23569002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 10:04:19 +00:00
bmeurer@chromium.org
09f5042adf
Add V8_NOINLINE() and define INLINE()/NO_INLINE() in terms of their V8_*() counterparts.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23414003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 09:21:16 +00:00
mstarzinger@chromium.org
93ff0d164f
Fix --trace-hydrogen --enable-slow-asserts combination.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23295035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:49:27 +00:00
svenpanne@chromium.org
db3d56e029
Minor cleanups, hopefully fixing an issue with VC's /Ze option on the way.
...
BUG=2859
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/23553002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:47:05 +00:00
machenbach@chromium.org
3dff01ad39
Skip failing test for NaCl.
...
The test was added in 16322 and fails on NaCl ever since.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23479003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:29:31 +00:00
bmeurer@chromium.org
2f10268045
Fix test for warn_unused_result and move it to v8config.h.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23546002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:27:42 +00:00
hpayer@chromium.org
3ed8601860
Added allocation folding support for old space allocations.
...
BUG=
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/22378003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 07:42:23 +00:00
haitao.feng@intel.com
a6d17b4fb5
Introduce StackArgumentsAccessor class for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/21123008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 01:21:39 +00:00