platform/upstream/v8.git
10 years agoThe "TESTFLAGS" is now added to Android .check build to be consistent with other...
bmeurer@chromium.org [Fri, 25 Oct 2013 05:52:11 +0000 (05:52 +0000)]
The "TESTFLAGS" is now added to Android .check build to be consistent with other platform build.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/39273004

Patch from Bangfu Tao <bangfu.tao@samsung.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce MoveDouble to the X64 MacroAssembler
haitao.feng@intel.com [Fri, 25 Oct 2013 02:12:17 +0000 (02:12 +0000)]
Introduce MoveDouble to the X64 MacroAssembler

R=danno@chromium.org

Review URL: https://codereview.chromium.org/26216008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable double alignment for constructed arrays.
plind44@gmail.com [Thu, 24 Oct 2013 19:01:30 +0000 (19:01 +0000)]
Enable double alignment for constructed arrays.

2nd (of 3) CL's to ensure complete alignment of FixedDoubleArrays.

TEST=
BUG=
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/35133002

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake the message test suite run without slow asserts.
mstarzinger@chromium.org [Thu, 24 Oct 2013 17:27:58 +0000 (17:27 +0000)]
Make the message test suite run without slow asserts.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/39303004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove specialized raw Cell and Map allocators.
mstarzinger@chromium.org [Thu, 24 Oct 2013 16:38:26 +0000 (16:38 +0000)]
Remove specialized raw Cell and Map allocators.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/30023003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTemporarily disable mjsunit/regress/regress-2612 to make our tree green again.
svenpanne@chromium.org [Thu, 24 Oct 2013 13:30:40 +0000 (13:30 +0000)]
Temporarily disable mjsunit/regress/regress-2612 to make our tree green again.

TBR=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/40203002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTune mjsunit/regress/regress-2612.
svenpanne@chromium.org [Thu, 24 Oct 2013 13:07:16 +0000 (13:07 +0000)]
Tune mjsunit/regress/regress-2612.

Lower the bounds to something bearable which would still timeout if we
used a quadratic algorithm.

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/39863003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandle constants in new space on arm by making macro-assembler smarter.
titzer@chromium.org [Thu, 24 Oct 2013 12:40:34 +0000 (12:40 +0000)]
Handle constants in new space on arm by making macro-assembler smarter.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/30023005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd performance.now() to the d8 shell.
bmeurer@chromium.org [Thu, 24 Oct 2013 12:25:40 +0000 (12:25 +0000)]
Add performance.now() to the d8 shell.

TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17366

Committed: https://code.google.com/p/v8/source/detail?r=17368

Review URL: https://codereview.chromium.org/32433010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Fix shared library build after r17368." and "Add performance.now() to the...
bmeurer@chromium.org [Thu, 24 Oct 2013 12:16:00 +0000 (12:16 +0000)]
Revert "Fix shared library build after r17368." and "Add performance.now() to the d8 shell.".

This reverts commit r17372 and r17368 for breaking the shared
library build.

TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/40043002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGet rid of unused STRING_ADD_ERECT_FRAME flag.
bmeurer@chromium.org [Thu, 24 Oct 2013 12:08:58 +0000 (12:08 +0000)]
Get rid of unused STRING_ADD_ERECT_FRAME flag.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/39803002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix shared library build after r17368.
bmeurer@chromium.org [Thu, 24 Oct 2013 11:59:09 +0000 (11:59 +0000)]
Fix shared library build after r17368.

TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/40033002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd code age subtype tracking to --track-gc-object-stats
hpayer@chromium.org [Thu, 24 Oct 2013 10:50:35 +0000 (10:50 +0000)]
Add code age subtype tracking to --track-gc-object-stats

Adds counters which track the age of code in the heap during a gc if
--track-gc-object-stats is enabled.

 - Splits RecordObjectStats into RecordObjectStats, RecordCodeSubTypeStats and
   RecordFixedArraySubTypeStats.
 - Renames kNoAge to kNoAgeCodeAge to follow other code age enums and enable
   the name to be used in Macro based initialization of the counters.

BUG=None
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/26179004

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd performance.now() to the d8 shell.
bmeurer@chromium.org [Thu, 24 Oct 2013 10:48:18 +0000 (10:48 +0000)]
Add performance.now() to the d8 shell.

TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17366

Review URL: https://codereview.chromium.org/32433010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Add window.performance.now() to the d8 shell."
bmeurer@chromium.org [Thu, 24 Oct 2013 10:42:02 +0000 (10:42 +0000)]
Revert "Add window.performance.now() to the d8 shell."

This reverts commit r17366 for breaking the mozilla tests.

TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/38753006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd window.performance.now() to the d8 shell.
bmeurer@chromium.org [Thu, 24 Oct 2013 09:27:17 +0000 (09:27 +0000)]
Add window.performance.now() to the d8 shell.

TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/32433010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRecord allocation stack traces
yurys@chromium.org [Thu, 24 Oct 2013 09:26:55 +0000 (09:26 +0000)]
Record allocation stack traces

This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=hpayer@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/34733004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.22.
bmeurer@chromium.org [Thu, 24 Oct 2013 09:23:32 +0000 (09:23 +0000)]
Prepare push to trunk.  Now working on version 3.22.22.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/39393005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved long-running obselete test case.
svenpanne@chromium.org [Thu, 24 Oct 2013 08:09:32 +0000 (08:09 +0000)]
Removed long-running obselete test case.

The test was the 2nd longest-running test case in debug mode, and the
stuff it tests has already been moved long ago to some other place,
which is in turn heavily tested by far simpler and faster things
(%TruncateString etc.).

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/39233003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Make Array.prototype.pop throw if the last element is not configurable."
yangguo@chromium.org [Thu, 24 Oct 2013 07:48:23 +0000 (07:48 +0000)]
Revert "Make Array.prototype.pop throw if the last element is not configurable."

This reverts commit r17346.

R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/39593002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Increase code space first page size due to r17334.
plind44@gmail.com [Thu, 24 Oct 2013 07:42:29 +0000 (07:42 +0000)]
MIPS: Increase code space first page size due to r17334.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/39363004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix r17253.
marja@chromium.org [Thu, 24 Oct 2013 07:40:31 +0000 (07:40 +0000)]
Fix r17253.

There's no reason why the setObjectGroupIde / setReferenceFromGroups funcs should've been called twice.

BUG=
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/39573002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse PopReturnAddressTo and PushReturnAddressFrom in Generate_MarkCodeAsExecutedOnce...
haitao.feng@intel.com [Thu, 24 Oct 2013 07:38:50 +0000 (07:38 +0000)]
Use PopReturnAddressTo and PushReturnAddressFrom in Generate_MarkCodeAsExecutedOnce builtin function for X64

R=danno@chromium.org

Review URL: https://codereview.chromium.org/38613003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix ARM build on mac.
plind44@gmail.com [Thu, 24 Oct 2013 07:03:52 +0000 (07:03 +0000)]
Fix ARM build on mac.

Remove a couple unused vars left behind after r16676. Clang on mac
is pickier than gcc on linux, specifically gcc does not complain about
unused class member variables.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/39193003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.21.
bmeurer@chromium.org [Thu, 24 Oct 2013 06:31:18 +0000 (06:31 +0000)]
Prepare push to trunk.  Now working on version 3.22.21.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/39483002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce xchgl, orl, roll, subl, testl and xorl into X64 assembler
haitao.feng@intel.com [Thu, 24 Oct 2013 02:12:51 +0000 (02:12 +0000)]
Introduce xchgl, orl, roll, subl, testl and xorl into X64 assembler

R=danno@chromium.org

Review URL: https://codereview.chromium.org/26780004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse the correct version of movq for ExternalReference in X64
haitao.feng@intel.com [Thu, 24 Oct 2013 01:27:47 +0000 (01:27 +0000)]
Use the correct version of movq for ExternalReference in X64

R=danno@chromium.org

Review URL: https://codereview.chromium.org/26410004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify Map::CopyInstallDescriptors
rafaelw@chromium.org [Wed, 23 Oct 2013 22:02:14 +0000 (22:02 +0000)]
Handlify Map::CopyInstallDescriptors

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/34603008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify Map::CopyNormalized
rafaelw@chromium.org [Wed, 23 Oct 2013 19:47:38 +0000 (19:47 +0000)]
Handlify Map::CopyNormalized

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/32483006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved redundant definition of new space top in serializer.
hpayer@chromium.org [Wed, 23 Oct 2013 18:05:27 +0000 (18:05 +0000)]
Removed redundant definition of new space top in serializer.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/30403003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandle new space constants on ia32 by using in a register in Lithium.
titzer@chromium.org [Wed, 23 Oct 2013 16:57:57 +0000 (16:57 +0000)]
Handle new space constants on ia32 by using in a register in Lithium.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/35413008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake Array.prototype.pop throw if the last element is not configurable.
yangguo@chromium.org [Wed, 23 Oct 2013 16:19:24 +0000 (16:19 +0000)]
Make Array.prototype.pop throw if the last element is not configurable.
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.

TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();

By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/29513004

Patch from Yanagi <admin@web-tinker.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix HObjectAccess for loads from migrating prototypes
jkummerow@chromium.org [Wed, 23 Oct 2013 15:15:15 +0000 (15:15 +0000)]
Fix HObjectAccess for loads from migrating prototypes

BUG=chromium:305309
R=danno@chromium.org

Review URL: https://codereview.chromium.org/35173005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix MEMORY_SANITIZER macro redefinition error.
danno@chromium.org [Wed, 23 Oct 2013 13:50:01 +0000 (13:50 +0000)]
Fix MEMORY_SANITIZER macro redefinition error.

MEMORY_SANITIZER is defined by default in certain compiler environments (when
MemorySanitizer is enabled, of course). Do not redefine it in that case.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/34503012

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable preaging of code objects when --optimize-for-size.
danno@chromium.org [Wed, 23 Oct 2013 13:48:04 +0000 (13:48 +0000)]
Enable preaging of code objects when --optimize-for-size.

This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is  reset to the young age, thus being kept around for the same number of GC generations as currently.

BUG=280984
R=danno@chromium.org, hpayer@chromium.org

Review URL: https://codereview.chromium.org/23480031

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHCheckInstanceType factories unified
ishell@chromium.org [Wed, 23 Oct 2013 13:03:15 +0000 (13:03 +0000)]
HCheckInstanceType factories unified

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/35413007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse common allocation choke point in Heap::AllocateConstantPoolArray.
mstarzinger@chromium.org [Wed, 23 Oct 2013 12:49:27 +0000 (12:49 +0000)]
Use common allocation choke point in Heap::AllocateConstantPoolArray.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/37003003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose v8::Function::GetDisplayName to public API.
yurys@chromium.org [Wed, 23 Oct 2013 12:38:06 +0000 (12:38 +0000)]
Expose v8::Function::GetDisplayName to public API.

BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys

Committed: https://code.google.com/p/v8/source/detail?r=17324

Review URL: https://codereview.chromium.org/26709011

Patch from Andrey Adaikin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPushAndAdd() usages refactored.
ishell@chromium.org [Wed, 23 Oct 2013 12:34:39 +0000 (12:34 +0000)]
PushAndAdd() usages refactored.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/36893002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Disable allocation folding when allocations tracking is on"
yurys@chromium.org [Wed, 23 Oct 2013 12:30:38 +0000 (12:30 +0000)]
Revert "Disable allocation folding when allocations tracking is on"

This reverts r17337. The new test fails on V8 linux - shared: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4726/steps/Check/logs/stdio

TBR=mvstanton@chromium.org
BUG=None

Review URL: https://codereview.chromium.org/37073003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable allocation folding when allocations tracking is on
yurys@chromium.org [Wed, 23 Oct 2013 12:19:12 +0000 (12:19 +0000)]
Disable allocation folding when allocations tracking is on

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org, mvstanton@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/32583002

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimplify ObjectVisitor for external references.
mstarzinger@chromium.org [Wed, 23 Oct 2013 10:47:51 +0000 (10:47 +0000)]
Simplify ObjectVisitor for external references.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/36853003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd a soft-deopt in keyed element access when current IC is pre-monomorphic and no...
hpayer@chromium.org [Wed, 23 Oct 2013 10:41:21 +0000 (10:41 +0000)]
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/32643004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCrankshaft builtins.
dslomov@chromium.org [Wed, 23 Oct 2013 08:57:54 +0000 (08:57 +0000)]
Crankshaft builtins.

Enable optimizing compiler for V8 built-ins. Also fixes an issue uncovered in
x64 codegen.

R=danno@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/34503003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake macro-assembler-x64 deal with handles to objects in new space by default.
titzer@chromium.org [Wed, 23 Oct 2013 08:47:15 +0000 (08:47 +0000)]
Make macro-assembler-x64 deal with handles to objects in new space by default.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/34753004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoforce accessor pair accesses backed by simple api calls to be generic accesses when...
dcarney@chromium.org [Wed, 23 Oct 2013 08:46:46 +0000 (08:46 +0000)]
force accessor pair accesses backed by simple api calls to be generic accesses when crankshafted

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/34773003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPartially annotate V8 for MemorySanitizer.
danno@chromium.org [Wed, 23 Oct 2013 08:39:15 +0000 (08:39 +0000)]
Partially annotate V8 for MemorySanitizer.

This is a part of https://codereview.chromium.org/26006004/.
These changes are enough to run most apps that embed V8 (by additionally
ignoring all memory accesses from V8), but don't help testing V8 itself in any
way.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/27471003

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.20.
bmeurer@chromium.org [Wed, 23 Oct 2013 06:50:44 +0000 (06:50 +0000)]
Prepare push to trunk.  Now working on version 3.22.20.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/32693004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify Map::CopyForObserved
rafaelw@chromium.org [Tue, 22 Oct 2013 17:41:08 +0000 (17:41 +0000)]
Handlify Map::CopyForObserved

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/34023002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCondense flag definitions a bit.
mstarzinger@chromium.org [Tue, 22 Oct 2013 17:03:57 +0000 (17:03 +0000)]
Condense flag definitions a bit.

This makes it easy to spot the default value of a flag when grepping the
code as the default value appears on the same line as the name now.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/35213002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Expose v8::Function::GetDisplayName to public API."
yurys@chromium.org [Tue, 22 Oct 2013 15:46:15 +0000 (15:46 +0000)]
Revert "Expose v8::Function::GetDisplayName to public API."

This reverts commit 54c7b9af65dd349405944bd9ae2f064202dc6e1d.

The new test fails in debug mode.

BUG=chromium:17356
TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/30443006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose v8::Function::GetDisplayName to public API.
yurys@chromium.org [Tue, 22 Oct 2013 14:57:19 +0000 (14:57 +0000)]
Expose v8::Function::GetDisplayName to public API.

BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys

Review URL: https://codereview.chromium.org/26709011

Patch from Andrey Adaikin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose v8::Function::IsBuiltin to public API.
yurys@chromium.org [Tue, 22 Oct 2013 14:50:20 +0000 (14:50 +0000)]
Expose v8::Function::IsBuiltin to public API.

This will be used by DevTools so that we could generate a better preview in console. Namely, we could assume that a preview of an object is lossless if all its member functions are builtin.

We also may want to expose this to DevTools users via remote debugging protocol in Debugger.FunctionDetails struct.

BUG=chromium:261470
R=mstarzinger@chromium.org, yurys@chromium.org, dcarney@chromium.org, yurys

Review URL: https://codereview.chromium.org/27701002

Patch from Andrey Adaikin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable escape analysis for Hydrogen.
mstarzinger@chromium.org [Tue, 22 Oct 2013 14:43:53 +0000 (14:43 +0000)]
Enable escape analysis for Hydrogen.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/34833004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix materialization of captured objects with field tracking.
mstarzinger@chromium.org [Tue, 22 Oct 2013 13:48:54 +0000 (13:48 +0000)]
Fix materialization of captured objects with field tracking.

R=titzer@chromium.org
BUG=chromium:298990
TEST=mjsunit/compiler/escape-analysis-representation

Review URL: https://codereview.chromium.org/35133003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTemporarily deactive regress-2185-2 until our array handling is in good shape again.
svenpanne@chromium.org [Tue, 22 Oct 2013 13:02:04 +0000 (13:02 +0000)]
Temporarily deactive regress-2185-2 until our array handling is in good shape again.

BUG=v8:2950
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/30443005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGuard against misuse of IfBuilder.
bmeurer@chromium.org [Tue, 22 Oct 2013 11:37:15 +0000 (11:37 +0000)]
Guard against misuse of IfBuilder.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/30693007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMore Hydrogen templatization.
ishell@chromium.org [Tue, 22 Oct 2013 11:29:05 +0000 (11:29 +0000)]
More Hydrogen templatization.

Factories added to a set of Hydrogen classes.
Several old-style HXxx::New() replaced with New<HXxx>() and NewUncasted<HXxx>.
Several AddInstruction() calls following New::XXX() replaced with Add<XXX>().
AddLoadNamedField() method added to GraphBuilder.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/34523004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved obsolete unit tests.
svenpanne@chromium.org [Tue, 22 Oct 2013 11:26:07 +0000 (11:26 +0000)]
Removed obsolete unit tests.

As discussed offline, these tests don't test what they were supposed to
test anymore and were the longest running ones.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/32433009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Re-enable global load elimination after fixing misaligned load/stores."
bmeurer@chromium.org [Tue, 22 Oct 2013 09:45:39 +0000 (09:45 +0000)]
Revert "Re-enable global load elimination after fixing misaligned load/stores."

This reverts commit r17315 for breaking the webkit tests.

TBR=titzer@chromium.org

Review URL: https://codereview.chromium.org/34853002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRe-enable global load elimination after fixing misaligned load/stores.
titzer@chromium.org [Tue, 22 Oct 2013 09:15:09 +0000 (09:15 +0000)]
Re-enable global load elimination after fixing misaligned load/stores.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/34653002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo not run useless test variants for test-parsing/ParserSync.
svenpanne@chromium.org [Tue, 22 Oct 2013 09:13:33 +0000 (09:13 +0000)]
Do not run useless test variants for test-parsing/ParserSync.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/34733002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo not serialize stack limits.
svenpanne@chromium.org [Tue, 22 Oct 2013 08:50:46 +0000 (08:50 +0000)]
Do not serialize stack limits.

This is part of making snapshots reproducable, more to come...

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/33193004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake PropertyCell::UpdatedType return a handle.
mstarzinger@chromium.org [Tue, 22 Oct 2013 08:24:35 +0000 (08:24 +0000)]
Make PropertyCell::UpdatedType return a handle.

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/31933003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.19.
bmeurer@chromium.org [Tue, 22 Oct 2013 07:59:35 +0000 (07:59 +0000)]
Prepare push to trunk.  Now working on version 3.22.19.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/32433006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd test for push-to-trunk script.
machenbach@chromium.org [Tue, 22 Oct 2013 06:59:35 +0000 (06:59 +0000)]
Add test for push-to-trunk script.

This is a prototype attempt for testing the push-to-trunk script. There are several todos left, but it is not clear if it is worth investing time into those. The test is meant to aid in verifying modifications in the push-to-trunk script.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/32283002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap...
bmeurer@chromium.org [Tue, 22 Oct 2013 06:56:19 +0000 (06:56 +0000)]
[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap-profiler/TrackHeapAllocations".

This reverts commit r17301 and r17303 for breaking the nosnap builds.

TBR=yurys@chromium.org

Review URL: https://codereview.chromium.org/34523002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix kraken 1.1 benchmark failure.
palfia@homejinni.com [Mon, 21 Oct 2013 22:22:03 +0000 (22:22 +0000)]
MIPS: Fix kraken 1.1 benchmark failure.

This makes sure that the DoubleToIStub::Generate method
does not overwrite the value of the f12 register.

TEST=bencnhmarks/kraken/stanford-crypto-pbkdf2
BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/33463002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Add tool to visualize machine code/lithium.
palfia@homejinni.com [Mon, 21 Oct 2013 22:20:45 +0000 (22:20 +0000)]
MIPS: Add tool to visualize machine code/lithium.

Port r17295 (b36eb655)

Original commit message:
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/33803002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Inline number to string conversion for string addition into BinaryOp(Stub).
palfia@homejinni.com [Mon, 21 Oct 2013 22:16:01 +0000 (22:16 +0000)]
MIPS: Inline number to string conversion for string addition into BinaryOp(Stub).

Port r17290 (b5fabb92)

Original commit message:
This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/32473007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTemporarily disable test-heap-profiler/TrackHeapAllocations
yurys@chromium.org [Mon, 21 Oct 2013 16:21:16 +0000 (16:21 +0000)]
Temporarily disable test-heap-profiler/TrackHeapAllocations

The test started failing on  V8 Linux - nosnap - debug after r17301 which added stack traversal to the allocation tracker. I'm disabling it for now until the problem is fixed.

BUG=v8:2949
TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/30633005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRecord allocation stack traces
yurys@chromium.org [Mon, 21 Oct 2013 15:22:11 +0000 (15:22 +0000)]
Record allocation stack traces

This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/27227005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHEnvironmentMarker factory added
ishell@chromium.org [Mon, 21 Oct 2013 14:18:55 +0000 (14:18 +0000)]
HEnvironmentMarker factory added

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/32513002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow constants to be deleted by reinserting them into the graph as needed.
titzer@chromium.org [Mon, 21 Oct 2013 14:09:32 +0000 (14:09 +0000)]
Allow constants to be deleted by reinserting them into the graph as needed.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/31943002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify PropertyCell::SetValueInferType and friends.
mstarzinger@chromium.org [Mon, 21 Oct 2013 13:55:24 +0000 (13:55 +0000)]
Handlify PropertyCell::SetValueInferType and friends.

This finally gets rid of the pesky trampoline in SetValueInferType and
enforces the layering between PropertyCell and Heap. It requires full
handlification of NewGlobalObject as well, which is only used when the
snapshot is created at compile-time.

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/28783002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd ishell@ to OWNERS.
bmeurer@chromium.org [Mon, 21 Oct 2013 13:52:12 +0000 (13:52 +0000)]
Add ishell@ to OWNERS.

TBR=danno@chromium.org

Review URL: https://codereview.chromium.org/32523002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd tool to visualize machine code/lithium.
danno@chromium.org [Mon, 21 Oct 2013 13:35:48 +0000 (13:35 +0000)]
Add tool to visualize machine code/lithium.

In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

Originally reviewed in this CL: https://codereview.chromium.org/24957003/

Review URL: https://codereview.chromium.org/29123008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandle misaligned loads and stores in load elimination. Do not track misaligned loads...
titzer@chromium.org [Mon, 21 Oct 2013 13:33:03 +0000 (13:33 +0000)]
Handle misaligned loads and stores in load elimination. Do not track misaligned loads and be conservative about invalidating misaligned stores. Add more tests for number conversion to string (NumberToStringStub exhibits misaligned loads)

BUG=v8:2934
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/28383003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.18.
bmeurer@chromium.org [Mon, 21 Oct 2013 13:27:08 +0000 (13:27 +0000)]
Prepare push to trunk.  Now working on version 3.22.18.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/32243003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoInline number to string conversion for string addition into BinaryOp(Stub).
bmeurer@chromium.org [Mon, 21 Oct 2013 12:42:08 +0000 (12:42 +0000)]
Inline number to string conversion for string addition into BinaryOp(Stub).

This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/27674002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic...
bmeurer@chromium.org [Mon, 21 Oct 2013 12:32:38 +0000 (12:32 +0000)]
Revert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected."

This reverts commit r17288 for breaking the mjsunit/unbox-double-arrays
test on almost every platform.

TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/32373002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd a soft-deopt in keyed element access when current IC is pre-monomorphic and no...
hpayer@chromium.org [Mon, 21 Oct 2013 12:10:01 +0000 (12:10 +0000)]
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/32263002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHarmony: implement Math.trunc.
yangguo@chromium.org [Mon, 21 Oct 2013 11:15:11 +0000 (11:15 +0000)]
Harmony: implement Math.trunc.

BUG=v8:2938
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/28793002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Enable load elimination."
titzer@chromium.org [Mon, 21 Oct 2013 09:36:55 +0000 (09:36 +0000)]
Revert "Enable load elimination."

This reverts commit r17281.

TBR=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/32113002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable load elimination.
titzer@chromium.org [Mon, 21 Oct 2013 09:24:29 +0000 (09:24 +0000)]
Enable load elimination.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/31923003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHarmony: implement Math.sign.
yangguo@chromium.org [Mon, 21 Oct 2013 09:16:31 +0000 (09:16 +0000)]
Harmony: implement Math.sign.

R=dslomov@chromium.org
BUG=v8:2938

Review URL: https://codereview.chromium.org/28723002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.17.
bmeurer@chromium.org [Mon, 21 Oct 2013 07:19:11 +0000 (07:19 +0000)]
Prepare push to trunk.  Now working on version 3.22.17.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/31913002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake stack_parameter_count a plain register.
mstarzinger@chromium.org [Fri, 18 Oct 2013 14:55:21 +0000 (14:55 +0000)]
Make stack_parameter_count a plain register.

R=rossberg@chromium.org, danno@chromium.org

Review URL: https://codereview.chromium.org/28993003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement global load elimination based on flow engine.
titzer@chromium.org [Fri, 18 Oct 2013 14:28:24 +0000 (14:28 +0000)]
Implement global load elimination based on flow engine.

BUG=
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/27148004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify JSObject::HasReal*Property.
yangguo@chromium.org [Fri, 18 Oct 2013 12:52:07 +0000 (12:52 +0000)]
Handlify JSObject::HasReal*Property.

R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/27518002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeapProfiler: integrate FindUntrackedObjects into js code.
loislo@chromium.org [Fri, 18 Oct 2013 11:25:43 +0000 (11:25 +0000)]
HeapProfiler: integrate FindUntrackedObjects into js code.

In some cases we would like to check untracked objects right from the js code.
Otherwise the objects might be collected rigth before check.

BUG=none
R=hpayer@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/27717003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 10:59:55 +0000 (10:59 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17258

Committed: https://code.google.com/p/v8/source/detail?r=17263

Review URL: https://codereview.chromium.org/27694004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTweak Math.log on ia32/x64
jkummerow@chromium.org [Fri, 18 Oct 2013 10:54:45 +0000 (10:54 +0000)]
Tweak Math.log on ia32/x64

ia32 and x64 more consistent now
1. use non-transcendental cache version of log for x64
2. use negative infinity constant instead of pushing to stack and loading to XMM register
3. remove movdbl, use movsd directly. movdbl seems confusing

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/27197013

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.22.16.
mstarzinger@chromium.org [Fri, 18 Oct 2013 10:32:11 +0000 (10:32 +0000)]
Prepare push to trunk.  Now working on version 3.22.16.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/28883002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "HeapProfiler: for the test purposes we would like to trace object movements."
mstarzinger@chromium.org [Fri, 18 Oct 2013 09:50:06 +0000 (09:50 +0000)]
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

This reverts r17263 because of compile failures accross all builds.

TBR=loislo@chromium.org

Review URL: https://codereview.chromium.org/28773002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 09:40:00 +0000 (09:40 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17258

Review URL: https://codereview.chromium.org/27694004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved dead code from mksnapshot.
svenpanne@chromium.org [Fri, 18 Oct 2013 09:06:58 +0000 (09:06 +0000)]
Removed dead code from mksnapshot.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/28683002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAlways make a copy of a string when adding it to StringsStorage
yurys@chromium.org [Fri, 18 Oct 2013 08:56:14 +0000 (08:56 +0000)]
Always make a copy of a string when adding it to StringsStorage

Otherwise the string passed as const char* may be disposed and we will end up with a dangling pointer.

Also changed StringsStorage::GetCopy so that a copy is not created if the string is already in the cache.

BUG=None
R=alph@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/27627006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "HeapProfiler: for the test purposes we would like to trace object movements."
loislo@chromium.org [Fri, 18 Oct 2013 08:11:36 +0000 (08:11 +0000)]
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

Compilation failed on Win64.

This reverts commit 6909faccca68c04b7ec4537538e6e7a0cc1650b8.

BUG=none
TBR=yurys

Review URL: https://codereview.chromium.org/28573002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 07:43:50 +0000 (07:43 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/27694004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00