platform/upstream/v8.git
12 years agoSplit up String.split to deal with normal separator and regexp separator separately.
yangguo@chromium.org [Tue, 13 Mar 2012 15:44:19 +0000 (15:44 +0000)]
Split up String.split to deal with normal separator and regexp separator separately.

BUG=
TEST=

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

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

12 years agoStore entry id as 32-bit int.
alexeif@chromium.org [Tue, 13 Mar 2012 15:42:26 +0000 (15:42 +0000)]
Store entry id as 32-bit int.

BUG=
TEST=

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

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

12 years agoAlways create HArgumentsObject on function entry.
vegorov@chromium.org [Tue, 13 Mar 2012 14:45:03 +0000 (14:45 +0000)]
Always create HArgumentsObject on function entry.

We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses.

R=mstarzinger@chromium.org
TEST=mjsunit/compiler/inline-arguments.js

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

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

12 years agoImplement non-generic stores for object literals.
mstarzinger@chromium.org [Tue, 13 Mar 2012 12:11:46 +0000 (12:11 +0000)]
Implement non-generic stores for object literals.

This uses the type feedback already present for computed value stores
into object literals to generate optimized stores in Crankshaft, thus
avoiding unnecessary generic stores with side effects.

R=svenpanne@chromium.org

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

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

12 years agoEnsure there is a smi check of the receiver for global load and call ICs.
kmillikin@chromium.org [Tue, 13 Mar 2012 11:39:30 +0000 (11:39 +0000)]
Ensure there is a smi check of the receiver for global load and call ICs.

There was a comment that, for such ICs specialized to the global object,
they were always contextual loads.  This is very brittle.  It is a
micro-optimization that relies too much on the way that things happen to
work today.

Instead, never omit the smi check because it's safer.

R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js

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

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

12 years agoExperimental Profiler: tweak type info threshold.
yangguo@chromium.org [Tue, 13 Mar 2012 11:38:37 +0000 (11:38 +0000)]
Experimental Profiler: tweak type info threshold.

Also included: simplify String.slice.

BUG=
TEST=

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

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

12 years agoFix DEPS file patching in push-to-trunk.sh
jkummerow@chromium.org [Tue, 13 Mar 2012 11:01:28 +0000 (11:01 +0000)]
Fix DEPS file patching in push-to-trunk.sh

R=yangguo@chromium.org

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

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

12 years agoAdd type feedback info type to instance type list macro.
ulan@chromium.org [Tue, 13 Mar 2012 11:01:07 +0000 (11:01 +0000)]
Add type feedback info type to instance type list macro.

R=jkummerow@chromium.org

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

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

12 years agoPrepare push to trunk. Now working on version 3.9.19.
yangguo@chromium.org [Tue, 13 Mar 2012 08:07:35 +0000 (08:07 +0000)]
Prepare push to trunk.  Now working on version 3.9.19.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoRemove static Mutex from math function intializers.
yangguo@chromium.org [Mon, 12 Mar 2012 17:15:13 +0000 (17:15 +0000)]
Remove static Mutex from math function intializers.

BUG=
TEST=

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

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

12 years agoUse lazy instance initializer to remove static initializers in two places.
fschneider@chromium.org [Mon, 12 Mar 2012 16:10:53 +0000 (16:10 +0000)]
Use lazy instance initializer to remove static initializers in two places.
Review URL: https://chromiumcodereview.appspot.com/9664067

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

12 years agoFix compile warning on 64 bit Windows.
erik.corry@gmail.com [Mon, 12 Mar 2012 15:26:05 +0000 (15:26 +0000)]
Fix compile warning on 64 bit Windows.
Review URL: https://chromiumcodereview.appspot.com/9690019

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

12 years agoEnsure consistency of Math.sqrt on Intel platforms.
yangguo@chromium.org [Mon, 12 Mar 2012 14:56:04 +0000 (14:56 +0000)]
Ensure consistency of Math.sqrt on Intel platforms.

BUG=
TEST=regress-sqrt.js

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

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

12 years agoFix broken build on Win32 due to r11010.
fschneider@chromium.org [Mon, 12 Mar 2012 14:41:59 +0000 (14:41 +0000)]
Fix broken build on Win32 due to r11010.
Review URL: https://chromiumcodereview.appspot.com/9666055

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

12 years agoLanding for pliard@chromium.org: Remove static initializers in v8.
fschneider@chromium.org [Mon, 12 Mar 2012 13:56:56 +0000 (13:56 +0000)]
Landing for pliard@chromium.org: Remove static initializers in v8.

This change includes two CLs by pliard@chromium.org:

1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):

Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted).

This CL was initially reviewed on codereview.appspot.com:
http://codereview.appspot.com/5687064/

2.  http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
It is based on a patch sent by Digit.

With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL.

This CL also modifies the presubmit script to check the number of static initializers.

BUG=v8:1859
Review URL: https://chromiumcodereview.appspot.com/9666052

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

12 years agoUnbreak Windows build after UTF-16 change (sys/types.h does not define
erik.corry@gmail.com [Mon, 12 Mar 2012 13:18:30 +0000 (13:18 +0000)]
Unbreak Windows build after UTF-16 change (sys/types.h does not define
int32_t on Windows).
Review URL: https://chromiumcodereview.appspot.com/9669051

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

12 years agoInline functions that use arguments object in f.apply(o, arguments) pattern.
vegorov@chromium.org [Mon, 12 Mar 2012 12:49:41 +0000 (12:49 +0000)]
Inline functions that use arguments object in f.apply(o, arguments) pattern.

Support arguments materialization after deoptimization in all frames (not only in topmost one).

R=fschneider@chromium.org

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

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

12 years agoFix input and output to handle UTF16 surrogate pairs.
erik.corry@gmail.com [Mon, 12 Mar 2012 12:35:28 +0000 (12:35 +0000)]
Fix input and output to handle UTF16 surrogate pairs.
Review URL: https://chromiumcodereview.appspot.com/9600009

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

12 years agoFix missing initialization of mark-compact flags.
mstarzinger@chromium.org [Mon, 12 Mar 2012 12:17:46 +0000 (12:17 +0000)]
Fix missing initialization of mark-compact flags.

R=svenpanne@chromium.org

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

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

12 years agoAdd explicit dependency on v8_base
jkummerow@chromium.org [Mon, 12 Mar 2012 10:35:50 +0000 (10:35 +0000)]
Add explicit dependency on v8_base

This is necessary in order to link v8_shell (for host) with the Android
toolchain.

Without it, the line in the makefile is:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a

Now it appears as:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a

and it successfully links.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9668013
Patch from Yaron Friedman <yfriedman@chromium.org>.

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

12 years agoFix heuristic triggering incremental marking.
yangguo@chromium.org [Mon, 12 Mar 2012 09:39:12 +0000 (09:39 +0000)]
Fix heuristic triggering incremental marking.

This changes the heuristic that starts incremental marking to be based
on a more accurate heap size estimation. Pages being swept lazily can be
accounted using the live bytes counter.

R=mstarzinger@chromium.org
BUG=v8:1682

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

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

12 years agoMIPS: Port Date-related changes.
ulan@chromium.org [Mon, 12 Mar 2012 08:46:25 +0000 (08:46 +0000)]
MIPS: Port Date-related changes.

Port r10981 (5ea074), r10982 (5f0d413) and r10983 (663a897d5).

BUG=
TEST=

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

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

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