Commit Graph

13594 Commits

Author SHA1 Message Date
mvstanton@chromium.org
93fa1939ce Generalize AllocationSite field access in HObjectAccess.
There are simply becoming too many individual field accessors, and
more are coming.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:36:49 +00:00
yangguo@chromium.org
6c2233fbaa Fix --hydrogen-filter="-".
SubVector asserts that the vector length is not 0 and fails.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 09:01:33 +00:00
svenpanne@chromium.org
acb06df0e9 Tune mjsunit/compiler/expression-trees.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 07:24:19 +00:00
svenpanne@chromium.org
ee87c867e9 Tune mjsunit/array-functions-prototype-misc
Again, this brings testing times down quite a bit without losing test
coverage.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-28 07:23:27 +00:00
rafaelw@chromium.org
523851b337 Handlify JSObject::PrepareElementsForSort
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 20:42:51 +00:00
fschneider@chromium.org
77b3da380d Fix bug in nextWeaker function of deltablue benchmark.
It does not seem to affect the correctness of the particular
workload it is currently running.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 13:21:46 +00:00
mstarzinger@chromium.org
e7226e3f8a Simplify test-mark-compact/NoPromotion test.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 13:10:25 +00:00
mvstanton@chromium.org
a85c825bb9 The Elements pointer in a JSObject can have a filler map instead of a
valid fixed array, iff a gc occurred while allocating a fixed array as
part of array construction. Heap verification needs protection against
examining the elements object in this case.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 12:26:47 +00:00
yangguo@chromium.org
7dd2d6c590 Reland "Make Array.prototype.pop throw if the last element is not configurable."
This relands r17346.

R=machenbach@chromium.org
BUG=311164

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:55:56 +00:00
danno@chromium.org
b7577174b3 Fix release build failures due to --enable-slow-asserts
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:25:27 +00:00
danno@chromium.org
7339d45a9f Define DEBUG for v8_optimized_debug=2
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).

R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:10:28 +00:00
hpayer@chromium.org
f8a4bd7c4e Make top and limit field in AllocationInfo private, assert on non-aligned setting of these fields, and eliminate indirect access over top address on top pointer.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 09:58:21 +00:00
bmeurer@chromium.org
266dfe7819 Prepare push to trunk. Now working on version 3.22.23.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 09:22:12 +00:00
svenpanne@chromium.org
2e2579da1b Tune mjsunit/regexp-global.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 08:57:50 +00:00
svenpanne@chromium.org
5074ecf13b Tune cctest/test-parsing/ParserSync.
This test suffers heavily from combinatorial explosion. To redemedy
this situation a bit, two independent parsing flags are tested
separately, reducing the runtime by a factor of 4. Furthermore, the
code has been cleaned up a bit.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 07:24:08 +00:00
bmeurer@chromium.org
972da5b660 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
2013-10-25 05:52:11 +00:00
haitao.feng@intel.com
4ea4cb9462 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
2013-10-25 02:12:17 +00:00
plind44@gmail.com
c042ef360d 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
2013-10-24 19:01:30 +00:00
mstarzinger@chromium.org
f3aa0b315a 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
2013-10-24 17:27:58 +00:00
mstarzinger@chromium.org
b5627c9ac6 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
2013-10-24 16:38:26 +00:00
svenpanne@chromium.org
c2596a257c 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
2013-10-24 13:30:40 +00:00
svenpanne@chromium.org
7fb61a78d4 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
2013-10-24 13:07:16 +00:00
titzer@chromium.org
517e15b014 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
2013-10-24 12:40:34 +00:00
bmeurer@chromium.org
56a46e591b 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
2013-10-24 12:25:40 +00:00
bmeurer@chromium.org
bef9819190 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
2013-10-24 12:16:00 +00:00
bmeurer@chromium.org
93376d8b62 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
2013-10-24 12:08:58 +00:00
bmeurer@chromium.org
008b871162 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
2013-10-24 11:59:09 +00:00
hpayer@chromium.org
2dfaf2aab5 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
2013-10-24 10:50:35 +00:00
bmeurer@chromium.org
0a90cab56a 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
2013-10-24 10:48:18 +00:00
bmeurer@chromium.org
67b4eb9ac1 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
2013-10-24 10:42:02 +00:00
bmeurer@chromium.org
d07231021e 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
2013-10-24 09:27:17 +00:00
yurys@chromium.org
a083601e73 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
2013-10-24 09:26:55 +00:00
bmeurer@chromium.org
9b7a5f20a6 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
2013-10-24 09:23:32 +00:00
svenpanne@chromium.org
f2122438e0 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
2013-10-24 08:09:32 +00:00
yangguo@chromium.org
0f564cb1b0 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
2013-10-24 07:48:23 +00:00
plind44@gmail.com
930b8b25bd 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
2013-10-24 07:42:29 +00:00
marja@chromium.org
3f81a55096 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
2013-10-24 07:40:31 +00:00
haitao.feng@intel.com
82d28ad2a4 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
2013-10-24 07:38:50 +00:00
plind44@gmail.com
2f67645fcc 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
2013-10-24 07:03:52 +00:00
bmeurer@chromium.org
75e6803ddc 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
2013-10-24 06:31:18 +00:00
haitao.feng@intel.com
29bb076770 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
2013-10-24 02:12:51 +00:00
haitao.feng@intel.com
bb202665ba 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
2013-10-24 01:27:47 +00:00
rafaelw@chromium.org
f719a45f18 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
2013-10-23 22:02:14 +00:00
rafaelw@chromium.org
91fa96bf6b 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
2013-10-23 19:47:38 +00:00
hpayer@chromium.org
69896e4395 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
2013-10-23 18:05:27 +00:00
titzer@chromium.org
478aa96d6f 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
2013-10-23 16:57:57 +00:00
yangguo@chromium.org
e25920da19 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
2013-10-23 16:19:24 +00:00
jkummerow@chromium.org
8259439ae8 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
2013-10-23 15:15:15 +00:00
danno@chromium.org
2208338b6e 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
2013-10-23 13:50:01 +00:00
danno@chromium.org
bdeaf7514a 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
2013-10-23 13:48:04 +00:00