platform/upstream/v8.git
12 years agoMIPS: Inline inequality compares of strings into CompareICStub
yangguo@chromium.org [Mon, 12 Mar 2012 08:24:10 +0000 (08:24 +0000)]
MIPS: Inline inequality compares of strings into CompareICStub

Port r10988 (c6c9ebb5).

Original commit message:

Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9669026
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoPrepare push to trunk. Now working on version 3.9.18.
svenpanne@chromium.org [Mon, 12 Mar 2012 08:15:43 +0000 (08:15 +0000)]
Prepare push to trunk.  Now working on version 3.9.18.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9690004

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

12 years agoV8 crashes when profile generator allocates a buffer for HeapEntry'es bigger than...
loislo@chromium.org [Sun, 11 Mar 2012 15:04:50 +0000 (15:04 +0000)]
V8 crashes when profile generator allocates a buffer for HeapEntry'es bigger than 2Gb.

BUG=none
TEST=profile-generator tests

Review URL: https://chromiumcodereview.appspot.com/9632020

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

12 years agoStyle fix after reapplying the patch r10996.
loislo@chromium.org [Sun, 11 Mar 2012 07:35:21 +0000 (07:35 +0000)]
Style fix after reapplying the patch r10996.

BUG=none
TEST=none
TBR=mikhail.naganov@gmail.com

Review URL: https://chromiumcodereview.appspot.com/9664042

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

12 years agoWe have a problem with really big apps. The snapshot for such pages doesn't fit into...
loislo@chromium.org [Sun, 11 Mar 2012 07:02:19 +0000 (07:02 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.

BUG=none
TEST=profiler-generator tests

Review URL: https://chromiumcodereview.appspot.com/9617006

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

12 years agoRevert "We have a problem with really big apps. The snapshot for such pages doesn...
loislo@chromium.org [Sun, 11 Mar 2012 06:12:10 +0000 (06:12 +0000)]
Revert "We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array."

This reverts commit 8c08ecc2782d5a8c60eb0692ec8f13d6da3cdc58.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9666038

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

12 years agoWe have a problem with really big apps. The snapshot for such pages doesn't fit into...
loislo@chromium.org [Sun, 11 Mar 2012 06:00:55 +0000 (06:00 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.

BUG=none
TEST=profiler-generator tests

Review URL: https://chromiumcodereview.appspot.com/9617006

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

12 years agoFixed VFP detection through compiler defines.
yangguo@chromium.org [Fri, 9 Mar 2012 22:11:16 +0000 (22:11 +0000)]
Fixed VFP detection through compiler defines.

BUG=http://code.google.com/p/v8/issues/detail?id=1996
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9669003
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

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

12 years agoProfiler experiments: update flag default values.
jkummerow@chromium.org [Fri, 9 Mar 2012 17:55:54 +0000 (17:55 +0000)]
Profiler experiments: update flag default values.

This doesn't enable the experimental profiler by default, it just tunes its behavior when it is enabled.

Review URL: https://chromiumcodereview.appspot.com/9668009

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

12 years agoProfiler experiments: merge self-optimization code into interrupt-at-exit
jkummerow@chromium.org [Fri, 9 Mar 2012 16:23:06 +0000 (16:23 +0000)]
Profiler experiments: merge self-optimization code into interrupt-at-exit

Review URL: https://chromiumcodereview.appspot.com/9633012

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

12 years agoFix presubmit problem with elements template macro
danno@chromium.org [Fri, 9 Mar 2012 14:53:02 +0000 (14:53 +0000)]
Fix presubmit problem with elements template macro

TBR=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9665002

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

12 years agoImplement efficient element copying in ElementsAccessors.
danno@chromium.org [Fri, 9 Mar 2012 13:48:29 +0000 (13:48 +0000)]
Implement efficient element copying in ElementsAccessors.

Review URL: https://chromiumcodereview.appspot.com/9638014

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

12 years agoInline inequality compares of strings into CompareICStub instead of jumping into...
yangguo@chromium.org [Fri, 9 Mar 2012 13:12:59 +0000 (13:12 +0000)]
Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9649027

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

12 years agoFix compile errors on Windows introduced by r10983.
ulan@chromium.org [Fri, 9 Mar 2012 13:01:32 +0000 (13:01 +0000)]
Fix compile errors on Windows introduced by r10983.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9652030

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

12 years agoAdd Code-related fields to postmortem metadata
vegorov@chromium.org [Fri, 9 Mar 2012 12:34:42 +0000 (12:34 +0000)]
Add Code-related fields to postmortem metadata

Review URL: https://chromiumcodereview.appspot.com/9361008
Patch from David Pacheco <dap@joyent.com>.

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

12 years agoMIPS: Introduce basic type feedback for for-in statements to avoid deopts.
vegorov@chromium.org [Fri, 9 Mar 2012 12:30:04 +0000 (12:30 +0000)]
MIPS: Introduce basic type feedback for for-in statements to avoid deopts.

Port r10901 (a54f1a3).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9586004
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoFix warning.
rossberg@chromium.org [Fri, 9 Mar 2012 12:08:05 +0000 (12:08 +0000)]
Fix warning.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9655025

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

12 years agoImplement date library functions in C++.
ulan@chromium.org [Fri, 9 Mar 2012 12:07:29 +0000 (12:07 +0000)]
Implement date library functions in C++.

Developed together with Andreas Rossberg based on:
  https://chromiumcodereview.appspot.com/9117034/
  https://chromiumcodereview.appspot.com/9307083/

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9572008

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

12 years agoImplement caching scheme for Date fields.
rossberg@chromium.org [Fri, 9 Mar 2012 11:19:55 +0000 (11:19 +0000)]
Implement caching scheme for Date fields.

This is based on https://chromiumcodereview.appspot.com/9117034/

Doesn't have much impact on its own, but is the basis for Ulan's CL https://chromiumcodereview.appspot.com/9117034/, which moves the logic to C++.

R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9307083

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

12 years agoNew class for Date objects: caches individual date components.
rossberg@chromium.org [Fri, 9 Mar 2012 11:11:55 +0000 (11:11 +0000)]
New class for Date objects: caches individual date components.
First step, cache slots not used yet.

R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9117034

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

12 years agoPrepare push to trunk. Now working on version 3.9.17.
erik.corry@gmail.com [Fri, 9 Mar 2012 10:39:45 +0000 (10:39 +0000)]
Prepare push to trunk.  Now working on version 3.9.17.
Review URL: https://chromiumcodereview.appspot.com/9652028

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

12 years agoAdd clobber list to arm inline asm.
yangguo@chromium.org [Fri, 9 Mar 2012 10:20:42 +0000 (10:20 +0000)]
Add clobber list to arm inline asm.

While enabling "-fstack-protector", compiler generates code in
function prologue and epilogue to do stack check. However, without
knowing that 'r1', 'r2' and 'r3' is used/destroyed in inline asm,
compiler assumes that 'r1', 'r2', or 'r3' can be used exclusively,
which leads to a core dump.

Fix to this is quite straightforward, just add clobber list to the
inlineasm.

BUG=None
TEST=manually checked the generated asm code,boot up chrome browser successfully with this modification

Review URL: https://chromiumcodereview.appspot.com/9618017

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

12 years agoRefactored push-to-trunk.sh and merge-to-branch.sh.
jkummerow@chromium.org [Fri, 9 Mar 2012 10:16:00 +0000 (10:16 +0000)]
Refactored push-to-trunk.sh and merge-to-branch.sh.

Moved common code into tools/common-includes.sh.
Added automated rolling of V8 into Chromium to push-to-trunk.sh.

Review URL: https://chromiumcodereview.appspot.com/9463041

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

12 years agoSimplify V8::FillHeapNumberWithRandom.
yangguo@chromium.org [Fri, 9 Mar 2012 09:51:34 +0000 (09:51 +0000)]
Simplify V8::FillHeapNumberWithRandom.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9592047

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

12 years agoRevert r10435 and r10923 because of failures.
ulan@chromium.org [Fri, 9 Mar 2012 09:04:39 +0000 (09:04 +0000)]
Revert r10435 and r10923 because of failures.

r10435 CL: http://codereview.chromium.org/9195005
r10923 CL: https://chromiumcodereview.appspot.com/9601010

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9653025

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

12 years agoAdded support functions for using Literal keys in a HashMap.
svenpanne@chromium.org [Fri, 9 Mar 2012 08:34:35 +0000 (08:34 +0000)]
Added support functions for using Literal keys in a HashMap.

This is a preparatory step for using the HashMap clas with Literal keys in the
full code generator. It removes some duplicated code already and removes the
need for 2 HashMaps at each use, which was overly complicated.

Removed one dead function on the way.

Review URL: https://chromiumcodereview.appspot.com/9639011

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

12 years agoFix signed / unsigned warnings for ?: operators reported by Xcode 4.x clang compiler.
mikhail.naganov@gmail.com [Thu, 8 Mar 2012 18:27:39 +0000 (18:27 +0000)]
Fix signed / unsigned warnings for ?: operators reported by Xcode 4.x clang compiler.

The patch is based on the report provided by github user Zakay.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9592030

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

12 years agoFix minifier to distinguish regexps from divisions (to some extent).
rossberg@chromium.org [Thu, 8 Mar 2012 16:38:44 +0000 (16:38 +0000)]
Fix minifier to distinguish regexps from divisions (to some extent).

Rrraaa, I have to say, doing program rewriting via regexp rules is an inherently broken idea...

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9644001

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

12 years agoFix a bug in the x64 elements transition code.
fschneider@chromium.org [Thu, 8 Mar 2012 15:46:23 +0000 (15:46 +0000)]
Fix a bug in the x64 elements transition code.

1. The write barrier (RecordWriteStub) expects that pointer stored
points to an initialized object. Specifically, the map must be set
before it is stored.

2. The backing store for smi-only elements can only be reused for
double elements if it is in new-space. Otherwise, we need to allocate
a fresh one because the old one is in pointer-space and the new one
has to be in data-space.

BUG=117037
Review URL: https://chromiumcodereview.appspot.com/9633017

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

12 years agoFix syntactical issue in r10965.
mstarzinger@chromium.org [Thu, 8 Mar 2012 13:30:10 +0000 (13:30 +0000)]
Fix syntactical issue in r10965.

R=rossberg@chromium.org
TEST=mjsunit/object-is

Review URL: https://chromiumcodereview.appspot.com/9641015

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

12 years agoBasic interface inference for modules.
rossberg@chromium.org [Thu, 8 Mar 2012 13:03:07 +0000 (13:03 +0000)]
Basic interface inference for modules.

All module expressions, and all variables that might refer to modules,
are assigned interfaces (module types) that are resolved using
unification. This is necessary to deal with the highly recursive
nature of ES6 modules, which does not allow any kind of bottom-up
strategy for resolving module names and paths.

Error messages are rudimental right now. Probably need to track
more information to make them nicer.

R=svenpanne@chromium.org
BUG=v8:1569
TEST=

Review URL: https://chromiumcodereview.appspot.com/9615009

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

12 years agoImplement Object.is and Number.is[Finite,NaN] functions.
mstarzinger@chromium.org [Thu, 8 Mar 2012 12:49:24 +0000 (12:49 +0000)]
Implement Object.is and Number.is[Finite,NaN] functions.

R=rossberg@chromium.org
TEST=mjsunit/object-is,mjsunit/number-is

Review URL: https://chromiumcodereview.appspot.com/9630009

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

12 years agoSet debug break slot at init of loop variable in a for loop.
yangguo@chromium.org [Thu, 8 Mar 2012 10:21:43 +0000 (10:21 +0000)]
Set debug break slot at init of loop variable in a for loop.

BUG=102153
TEST=regress-102153.js

Review URL: https://chromiumcodereview.appspot.com/9625011

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

12 years agoUn-braindead-ify test-debug/DebugBreakLoop
jkummerow@chromium.org [Thu, 8 Mar 2012 08:09:27 +0000 (08:09 +0000)]
Un-braindead-ify test-debug/DebugBreakLoop

Review URL: https://chromiumcodereview.appspot.com/9623007

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

12 years agoAdd kAbortIncrementalMarkingMask flag for GC.
mstarzinger@chromium.org [Wed, 7 Mar 2012 17:52:16 +0000 (17:52 +0000)]
Add kAbortIncrementalMarkingMask flag for GC.

This adds an additional flag to control whether incremental marking
should be aborted when requesting a GC, providing a finer granularity
between kNoGCFlags and kMakeHeapIterableMask.

R=ulan@chromium.org
BUG=v8:1608

Review URL: https://chromiumcodereview.appspot.com/9608006

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

12 years agoAdd HeapProfiler::GetPersistentHandleCount to be able to track the number of persiste...
vegorov@chromium.org [Wed, 7 Mar 2012 17:38:50 +0000 (17:38 +0000)]
Add HeapProfiler::GetPersistentHandleCount to be able to track the number of persistent handles

It turns out that an increasing number of persistent handles is a good signal for bugs in the bindings layer

BUG=none
TEST=cctest/test-heap-profiler/PersistentHandleCount

Review URL: https://chromiumcodereview.appspot.com/9620007
Patch from Jochen Eisinger <jochen@chromium.org>.

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

12 years agoProfiler experiments: Honor postponing of interrupts in HandleStackGuardInterrupt
jkummerow@chromium.org [Wed, 7 Mar 2012 17:31:33 +0000 (17:31 +0000)]
Profiler experiments: Honor postponing of interrupts in HandleStackGuardInterrupt

Review URL: https://chromiumcodereview.appspot.com/9620009

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

12 years agoIgnore soft heap limit when reserving space.
ulan@chromium.org [Wed, 7 Mar 2012 16:24:11 +0000 (16:24 +0000)]
Ignore soft heap limit when reserving space.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9605014

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

12 years agoTweaks to SubStringStub
yangguo@chromium.org [Wed, 7 Mar 2012 14:19:28 +0000 (14:19 +0000)]
Tweaks to SubStringStub

Review URL: https://chromiumcodereview.appspot.com/9625003

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

12 years agoMake the runtime entry for setting/changing accessors "atomic".
svenpanne@chromium.org [Wed, 7 Mar 2012 13:24:44 +0000 (13:24 +0000)]
Make the runtime entry for setting/changing accessors "atomic".

Previously, there were 1 or 2 calls to the runtime when accessors were changed
or set. This doesn't really work well with property attributes, leading to some
hacks and complicates things even further when trying to share maps in presence
of accessors. Therefore, the runtime entry now takes the full triple (getter,
setter, attributes), where the getter and/or the setter can be null in case they
shouldn't be changed.

For now, we do basically the same on the native side as we did before on the
JavaScript side, but this will change in future CLs, the current CL is already
large enough.

Note that object literals with a getter and a setter for the same property still
do 2 calls, but this is a little bit more tricky to fix and will be handled in a
separate CL.

Review URL: https://chromiumcodereview.appspot.com/9616016

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

12 years agoImplement --download-data for test harness.
mstarzinger@chromium.org [Wed, 7 Mar 2012 12:51:31 +0000 (12:51 +0000)]
Implement --download-data for test harness.

This allows the test harness to download missing test suite data if
necessary. We use the bzip2 archive for test262 because it is faster
than cloning the repository and also works without any Mercurial
installation.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9619002

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

12 years agoAvoid starting a new basic block when inlining a function.
fschneider@chromium.org [Wed, 7 Mar 2012 12:04:28 +0000 (12:04 +0000)]
Avoid starting a new basic block when inlining a function.

Instead of creating a fresh basic block for the inlined body,
I just simulate the outer environment in the middle of the current
block before updating the current environment to the inlined environment and
emitting the enter-inlined instruction.
Review URL: https://chromiumcodereview.appspot.com/9618052

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

12 years agoCaught yet another escaped hole.
svenpanne@chromium.org [Wed, 7 Mar 2012 11:48:36 +0000 (11:48 +0000)]
Caught yet another escaped hole.

Review URL: https://chromiumcodereview.appspot.com/9592048

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

12 years agoFix compile with debuggersupport=off.
yangguo@chromium.org [Wed, 7 Mar 2012 10:57:36 +0000 (10:57 +0000)]
Fix compile with debuggersupport=off.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9546051

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

12 years agoNever let the hole escape...
svenpanne@chromium.org [Wed, 7 Mar 2012 10:03:32 +0000 (10:03 +0000)]
Never let the hole escape...

Review URL: https://chromiumcodereview.appspot.com/9605042

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

12 years agoMIPS: Simplify the deopt entry method.
danno@chromium.org [Wed, 7 Mar 2012 09:05:41 +0000 (09:05 +0000)]
MIPS: Simplify the deopt entry method.

The t9 register will always hold the address of the current entry when deoptimizing,
so it can be used as the basis of calculation.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9546017
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoMIPS: Minor optimizations in Builtins::Generate_ArgumentsAdaptorTrampoline.
danno@chromium.org [Wed, 7 Mar 2012 08:59:43 +0000 (08:59 +0000)]
MIPS: Minor optimizations in Builtins::Generate_ArgumentsAdaptorTrampoline.

The branch delay slot is now utilized in a few loops.
This is the cleanup of an old TODO.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9618013

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

12 years agoMIPS: Port r10939 to x64 and arm (inline Math.random in crankshaft).
yangguo@chromium.org [Tue, 6 Mar 2012 17:39:12 +0000 (17:39 +0000)]
MIPS: Port r10939 to x64 and arm (inline Math.random in crankshaft).

Port r10947 (d85b4e).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9615016
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoPort r10939 to x64 and arm (inline Math.random in crankshaft).
yangguo@chromium.org [Tue, 6 Mar 2012 16:12:11 +0000 (16:12 +0000)]
Port r10939 to x64 and arm (inline Math.random in crankshaft).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9615012

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

12 years agoFix nosse2 tests.
yangguo@chromium.org [Tue, 6 Mar 2012 13:37:25 +0000 (13:37 +0000)]
Fix nosse2 tests.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9617004

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

12 years agoConsistently order receiver and holder argument in ElementAccessor.
danno@chromium.org [Tue, 6 Mar 2012 12:22:18 +0000 (12:22 +0000)]
Consistently order receiver and holder argument in ElementAccessor.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9605006

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

12 years agoFix test-random test.
yangguo@chromium.org [Tue, 6 Mar 2012 12:21:42 +0000 (12:21 +0000)]
Fix test-random test.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9616006

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

12 years agoAutomatically determine ElementsKind name for debug printing
danno@chromium.org [Tue, 6 Mar 2012 12:03:14 +0000 (12:03 +0000)]
Automatically determine ElementsKind name for debug printing

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9618003

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

12 years agoRevert r19024 due to performance regressions.
yangguo@chromium.org [Tue, 6 Mar 2012 11:52:46 +0000 (11:52 +0000)]
Revert r19024 due to performance regressions.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9615010

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

12 years agoInline Math.random in crankshaft (ia32).
yangguo@chromium.org [Tue, 6 Mar 2012 11:31:51 +0000 (11:31 +0000)]
Inline Math.random in crankshaft (ia32).

BUG=
TEST=cctest/test-random.cc

Review URL: https://chromiumcodereview.appspot.com/9615008

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

12 years agoBlocks that contain soft deopts have no side effects.
mstarzinger@chromium.org [Tue, 6 Mar 2012 10:57:54 +0000 (10:57 +0000)]
Blocks that contain soft deopts have no side effects.

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9188005

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

12 years agoUpdate unicode tables to version 6.1.0.
mstarzinger@chromium.org [Tue, 6 Mar 2012 09:43:12 +0000 (09:43 +0000)]
Update unicode tables to version 6.1.0.

R=erik.corry@gmail.com
BUG=v8:1965

Review URL: https://chromiumcodereview.appspot.com/9615005

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

12 years agoRefactorings only: More uses of "To" template and comment fixes.
svenpanne@chromium.org [Tue, 6 Mar 2012 09:19:25 +0000 (09:19 +0000)]
Refactorings only: More uses of "To" template and comment fixes.

Review URL: https://chromiumcodereview.appspot.com/9594018

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

12 years agoPrepare push to trunk. Now working on version 3.9.16.
ulan@chromium.org [Tue, 6 Mar 2012 08:39:40 +0000 (08:39 +0000)]
Prepare push to trunk.  Now working on version 3.9.16.

R=yangguo@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9600042

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

12 years agoFix the heap profiler crash caused by memory layout changes between passes.
mikhail.naganov@gmail.com [Mon, 5 Mar 2012 18:13:29 +0000 (18:13 +0000)]
Fix the heap profiler crash caused by memory layout changes between passes.

The heap profiler randomly crashed because of memory corruption caused
by unexpected heap objects layout changes occured between count and fill
passes. The changes lead the number of retainers counted on the first pass
did not match its number on the fill pass leading to the out of bounds
array access.

Besides that the mark bit scheme has been changed to a plain vector one in
dominators building algorithm. It is up to 4x faster because of smaller
memory access footprint.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9594020
Patch from Alexei Filippov <alexeif@chromium.org>.

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

12 years agoEnsure that inner pseudo-chunks are correctly initialized in FreeQueuedChunks.
vegorov@chromium.org [Mon, 5 Mar 2012 16:39:25 +0000 (16:39 +0000)]
Ensure that inner pseudo-chunks are correctly initialized in FreeQueuedChunks.

Fields introduced with guarding code space pages (area_start_, area_end_) were not correctly handled which lead to errors in StoreBuffer filtering.

R=mstarzinger@chromium.org
TEST=mozilla/data/js1_5/GC/regress-203278-2.js

Review URL: https://chromiumcodereview.appspot.com/9600020

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

12 years agoRecfactor core HasElement functionality into ElementsAccessors
danno@chromium.org [Mon, 5 Mar 2012 16:14:34 +0000 (16:14 +0000)]
Recfactor core HasElement functionality into ElementsAccessors

Review URL: https://chromiumcodereview.appspot.com/9572014

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

12 years agoMIPS: Inline ordered relational compares of mixed double/undefined values.
danno@chromium.org [Mon, 5 Mar 2012 15:40:25 +0000 (15:40 +0000)]
MIPS: Inline ordered relational compares of mixed double/undefined values.

Port r10905 (2a997cf).

Original commit message:

Allow Crankshaft to inline ordered relational comparisons (<, >, <=, >=) that have undefined arguments in addition to double value arguments (rather than calling the generic Compare stub).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9583038
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoGenerate more compact code in regexp assembler with near jumps.
yangguo@chromium.org [Mon, 5 Mar 2012 14:41:07 +0000 (14:41 +0000)]
Generate more compact code in regexp assembler with near jumps.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9600016

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

12 years agoEnable constructor inlining by default again.
mstarzinger@chromium.org [Mon, 5 Mar 2012 14:20:58 +0000 (14:20 +0000)]
Enable constructor inlining by default again.

R=vegorov@chromium.org
TEST=mjsunit/compiler/inline-construct

Review URL: https://chromiumcodereview.appspot.com/9601010

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

12 years agoFix Error.prototype.toString to throw TypeError.
mstarzinger@chromium.org [Mon, 5 Mar 2012 13:57:48 +0000 (13:57 +0000)]
Fix Error.prototype.toString to throw TypeError.

R=rossberg@chromium.org
BUG=v8:1980
TEST=mjsunit/function-call,mjsunit/regress/regress-1980

Review URL: https://chromiumcodereview.appspot.com/9568005

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

12 years agoFix column formatting of --hydrogen-stats output by shortening a line.
fschneider@chromium.org [Mon, 5 Mar 2012 13:07:32 +0000 (13:07 +0000)]
Fix column formatting of --hydrogen-stats output by shortening a line.

TBR=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9578013

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

12 years agoFix inlining of strict mode constructors.
mstarzinger@chromium.org [Mon, 5 Mar 2012 12:46:50 +0000 (12:46 +0000)]
Fix inlining of strict mode constructors.

Inlined strict mode functions (that are not called as methods) will get
their receiver reset to undefined. This should not happen when inlining
constructors.

This change also simplifies the test suite to reuse the same closures
into which constructors get inlined and use gc() to force V8 to forget
collected type feedback.

R=vegorov@chromium.org
TEST=mjsunit/compiler/inline-construct

Review URL: https://chromiumcodereview.appspot.com/9597017

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

12 years agoAllocate new AccessorPairs with holes instead of undefined.
svenpanne@chromium.org [Mon, 5 Mar 2012 12:26:19 +0000 (12:26 +0000)]
Allocate new AccessorPairs with holes instead of undefined.

This is essential for the upcoming map sharing with accessors, and we aleady
have enough machinery to handle the holes now. Furthermore, use "To" template in
2 nearby functions, and made naming a bit more consistent.

In a nutshell: This CL should have no visible effect at all at the moment.
Famous last words...

Review URL: https://chromiumcodereview.appspot.com/9594013

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

12 years agoUse an enum for indicating the component of an AccessorPair instead of a boolean...
svenpanne@chromium.org [Mon, 5 Mar 2012 12:11:28 +0000 (12:11 +0000)]
Use an enum for indicating the component of an AccessorPair instead of a boolean flag.

In addition, this CL introduces a tiny new helper, which will come in handy later,
plus some minor cleanup.

Review URL: https://chromiumcodereview.appspot.com/9600013

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

12 years agoFix double-rounding in strtod for MinGW.
yangguo@chromium.org [Mon, 5 Mar 2012 10:04:10 +0000 (10:04 +0000)]
Fix double-rounding in strtod for MinGW.

BUG=v8:1062
TEST=

Review URL: https://chromiumcodereview.appspot.com/9578011
Patch from Jonathan Liu <net147@gmail.com>.

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

12 years agoSimplify silent abort by raising SIGABRT directly.
yangguo@chromium.org [Mon, 5 Mar 2012 09:52:14 +0000 (09:52 +0000)]
Simplify silent abort by raising SIGABRT directly.

Review URL: https://chromiumcodereview.appspot.com/9597012
Patch from Jonathan Liu <net147@gmail.com>.

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

12 years agoReland r10908 (Ensure consistent result of transcendental function0.)
yangguo@chromium.org [Mon, 5 Mar 2012 08:17:16 +0000 (08:17 +0000)]
Reland r10908 (Ensure consistent result of transcendental function0.)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9583037

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

12 years agoRevert r10913.
yangguo@chromium.org [Mon, 5 Mar 2012 07:55:27 +0000 (07:55 +0000)]
Revert r10913.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9602006

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

12 years agoSet x86 FPU precision to 64-bit for MinGW. Original patch by Jonathan Liu <net147...
yangguo@chromium.org [Sun, 4 Mar 2012 10:49:25 +0000 (10:49 +0000)]
Set x86 FPU precision to 64-bit for MinGW. Original patch by Jonathan Liu <net147@gmail.com>.

BUG=v8:1062
TEST=test-strtod.cc

Review URL: https://chromiumcodereview.appspot.com/9599006
Patch from Jonathan Liu <net147@gmail.com>.

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

12 years agoFix MinGW-w64 compilation
yangguo@chromium.org [Sat, 3 Mar 2012 11:07:29 +0000 (11:07 +0000)]
Fix MinGW-w64 compilation

Contributed by net147@gmail.com

BUGS=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9581045
Patch from Jonathan Liu <net147@gmail.com>.

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

12 years agoFix MinGW64 build.
yangguo@chromium.org [Sat, 3 Mar 2012 10:19:12 +0000 (10:19 +0000)]
Fix MinGW64 build.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9584047

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

12 years agoFix corrupted snapshot serializaton on ia32.
mikhail.naganov@gmail.com [Fri, 2 Mar 2012 15:31:04 +0000 (15:31 +0000)]
Fix corrupted snapshot serializaton on ia32.

BUG=v8/1985
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9582006
Patch from Alexei Filippov <alexeif@chromium.org>.

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

12 years agoRevert r10908 due to flakiness and crashes.
yangguo@chromium.org [Fri, 2 Mar 2012 15:00:52 +0000 (15:00 +0000)]
Revert r10908 due to flakiness and crashes.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9580007

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

12 years agoEnsure consistent result of transcendental functions.
yangguo@chromium.org [Fri, 2 Mar 2012 14:33:15 +0000 (14:33 +0000)]
Ensure consistent result of transcendental functions.

BUG=
TEST=regress-transcendental.js

Review URL: https://chromiumcodereview.appspot.com/9572009

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

12 years agoFixed presubmit error.
svenpanne@chromium.org [Fri, 2 Mar 2012 14:15:28 +0000 (14:15 +0000)]
Fixed presubmit error.

Review URL: https://chromiumcodereview.appspot.com/9584011

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

12 years agoRe-land CL 9466047.
svenpanne@chromium.org [Fri, 2 Mar 2012 14:03:59 +0000 (14:03 +0000)]
Re-land CL 9466047.

Main change from the original CL: Call::ComputeTarget does not use IsProperty
anymore, because this would potentially need a holder, which we don't have
here. Using Map::LookupInDescriptors with a NULL holder is a bit fishy in
general, because one has to be *extremely* careful when using its LookupResult.

The original CL made Chrome's NetInternalsTest.netInternalsTourTabs browser test
fail, but it's a mystery how this could happen: We should never reach
Call::ComputeTarget via Call::RecordTypeFeedback with a CALLBACKS property,
because we never consider calls to them monomorphic, which is in turn because of
the stub cache leaving them in the pre-monomorphic state. Therefore, I don't
have a clue how to write a regression test for this...

As an additional tiny bonus, the --trace-opt output for deoptimizations has been
improved.

Review URL: https://chromiumcodereview.appspot.com/9584003

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

12 years agoInline ordered relational compares of mixed double/undefined values.
danno@chromium.org [Fri, 2 Mar 2012 13:40:14 +0000 (13:40 +0000)]
Inline ordered relational compares of mixed double/undefined values.

Allow Crankshaft to inline ordered relational comparisons (<, >, <=, >=) that have undefined arguments in addition to double value arguments (rather than calling the generic Compare stub).

R=fschneider@chromium.org
TEST=test/mjsunit/comparison-ops-and-undefined.js

Review URL: https://chromiumcodereview.appspot.com/9584006

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

12 years agoMake trace-hydrogen output more visualizer-friendly.
fschneider@chromium.org [Fri, 2 Mar 2012 13:05:59 +0000 (13:05 +0000)]
Make trace-hydrogen output more visualizer-friendly.
Review URL: https://chromiumcodereview.appspot.com/9580005

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

12 years agoDisable constructor inlining.
vegorov@chromium.org [Fri, 2 Mar 2012 12:50:42 +0000 (12:50 +0000)]
Disable constructor inlining.

There are failures on Kraken.

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9585011

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

12 years agoCache result of ScriptNameOrSourceURL function. The function is quite slow on large...
yurys@chromium.org [Fri, 2 Mar 2012 12:27:15 +0000 (12:27 +0000)]
Cache result of ScriptNameOrSourceURL function. The function is quite slow on large(several MBs) scripts which causes significant slowdown when capturing stack trace for such scripts.
Review URL: https://chromiumcodereview.appspot.com/9564012

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

12 years agoIntroduce basic type feedback for for-in statements to avoid deopts.
vegorov@chromium.org [Fri, 2 Mar 2012 11:33:33 +0000 (11:33 +0000)]
Introduce basic type feedback for for-in statements to avoid deopts.

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9571001

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

12 years agoMIPS: Properly check fast array property in StoreIC::GenerateArrayLength.
mstarzinger@chromium.org [Thu, 1 Mar 2012 17:20:11 +0000 (17:20 +0000)]
MIPS: Properly check fast array property in StoreIC::GenerateArrayLength.

This is the cleanup of an old todo from r10254 (93483b6eb).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9570010
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoPrepare push to trunk. Now working on version 3.9.15.
fschneider@chromium.org [Thu, 1 Mar 2012 15:37:17 +0000 (15:37 +0000)]
Prepare push to trunk. Now working on version 3.9.15.
Review URL: https://chromiumcodereview.appspot.com/9570016

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

12 years agoMIPS: Additional explicit zone allocation changes.
fschneider@chromium.org [Thu, 1 Mar 2012 12:56:02 +0000 (12:56 +0000)]
MIPS: Additional explicit zone allocation changes.

These changes were not included in r10863 (226afed4) because of patch submission ordering.

BUG=
TEST=
Patch from Daniel Kalmar <kalmard@homejinni.com>.
Review URL: https://chromiumcodereview.appspot.com/9566003

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

12 years agoFix a register assignment bug in typed array stores without SSE3 available.
fschneider@chromium.org [Thu, 1 Mar 2012 12:45:46 +0000 (12:45 +0000)]
Fix a register assignment bug in typed array stores without SSE3 available.

The old code used a separate HToInt32 instruction which had a wrong register
constraint for the input register which caused wrong result when the stored value
is used after a typed array store. (UseRegister instead of UseTempRegister) when no
SSE3 is available.

This change fixes it by replacing HToInt32 with the corresponding HChange
instruction which has correct register contraints.

TEST=mjsunit/compiler/regress-toint32.js
Review URL: https://chromiumcodereview.appspot.com/9565007

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

12 years agoMIPS: Implement inlined object allocation in Crankshaft.
mstarzinger@chromium.org [Thu, 1 Mar 2012 12:38:58 +0000 (12:38 +0000)]
MIPS: Implement inlined object allocation in Crankshaft.

Port r10881 (0d25c61e).

Original commit message:

Generates inlined code for object allocation specific to the initial map
of the given constructor function. Also forces completion of inobject
slack tracking while crankshafting to finalize instance size of these
objects.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9569008
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoMIPS: Fix secondary stub cache and add a test for the stub cache lookups. This is...
erik.corry@gmail.com [Thu, 1 Mar 2012 12:12:56 +0000 (12:12 +0000)]
MIPS: Fix secondary stub cache and add a test for the stub cache lookups.  This is a commit of https://chromiumcodereview.appspot.com/9566004 for Daniel Kalmar

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

12 years agoImprove constructor inlining backout.
mstarzinger@chromium.org [Thu, 1 Mar 2012 11:50:11 +0000 (11:50 +0000)]
Improve constructor inlining backout.

This improves the generated hydrogen graph by also removing the obsolete
HCheckFunction instruction if we backout of inlining constructors.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9537004

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

12 years agoUpdate test262 expectations concerning 64-bit precision double.
yangguo@chromium.org [Thu, 1 Mar 2012 11:37:10 +0000 (11:37 +0000)]
Update test262 expectations concerning 64-bit precision double.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9540010

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

12 years agoAdd flag --trace-phase to selectively produce IR trace output.
fschneider@chromium.org [Thu, 1 Mar 2012 11:33:37 +0000 (11:33 +0000)]
Add flag --trace-phase to selectively produce IR trace output.

By default --trace-hydrogen only generates the final IR (before
code generation). The other phases can be printed by specifying
them by their first letter. Currently H=HIR, L=LIR or Z=final IR (default)
are recognized.
Review URL: https://chromiumcodereview.appspot.com/9535009

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

12 years agoImplement inlined object allocation in Crankshaft.
mstarzinger@chromium.org [Thu, 1 Mar 2012 11:10:28 +0000 (11:10 +0000)]
Implement inlined object allocation in Crankshaft.

Generates inlined code for object allocation specific to the initial map
of the given constructor function. Also forces completion of inobject
slack tracking while crankshafting to finalize instance size of these
objects.

R=vegorov@chromium.org
TEST=mjsunit/compiler/alloc-object

Review URL: https://chromiumcodereview.appspot.com/9370019

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

12 years agoPrepare push to trunk. Now working on version 3.9.14.
ulan@chromium.org [Wed, 29 Feb 2012 15:41:07 +0000 (15:41 +0000)]
Prepare push to trunk.  Now working on version 3.9.14.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9535010

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

12 years agoProfiler experiments: prevent self-optimization for V8 Extensions
jkummerow@chromium.org [Wed, 29 Feb 2012 15:08:02 +0000 (15:08 +0000)]
Profiler experiments: prevent self-optimization for V8 Extensions

Review URL: https://chromiumcodereview.appspot.com/9535006

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

12 years agoFix stub cache on ARM, broken in 10864.
erik.corry@gmail.com [Wed, 29 Feb 2012 14:38:54 +0000 (14:38 +0000)]
Fix stub cache on ARM, broken in 10864.
Review URL: https://chromiumcodereview.appspot.com/9539010

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