platform/upstream/v8.git
12 years agoFixing dead code in empty array init.
yangguo@chromium.org [Thu, 27 Oct 2011 11:11:59 +0000 (11:11 +0000)]
Fixing dead code in empty array init.

TEST=set JSArray::kPreallocatedArrayElements to larger than 4.

Review URL: http://codereview.chromium.org/8381014

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

12 years agoMIPS: Handlify CompileLoad and CompileStore
kmillikin@chromium.org [Thu, 27 Oct 2011 09:21:15 +0000 (09:21 +0000)]
MIPS: Handlify CompileLoad and CompileStore

Port the following 3 stub-cache commits:
r9788   (67147b7)  Handlify CompileLoadGlobal, CompileLoadElement, CompileLoadPolymorphic.
r9791   (b19c694)  Handlify simple functions of [keyed] store stub compiler.
r9803   (e0c3c89)  Handlify CompileStoreCallback, CompileStoreInterceptor.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8404016
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFixing performance regression in issue 1787.
yangguo@chromium.org [Thu, 27 Oct 2011 07:59:12 +0000 (07:59 +0000)]
Fixing performance regression in issue 1787.

BUG=v8:1787

Review URL: http://codereview.chromium.org/8390050

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

12 years agoMark Test262 test cases for known issue 1790.
mstarzinger@chromium.org [Thu, 27 Oct 2011 07:50:40 +0000 (07:50 +0000)]
Mark Test262 test cases for known issue 1790.

R=lrn@chromium.org
BUG=v8:1790
TEST=test262/15.4.4.22-9-9

Review URL: http://codereview.chromium.org/8396042

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

12 years agoSkip live edit debug tests, these are flaky because in the case of osr we will get...
ricow@chromium.org [Thu, 27 Oct 2011 07:10:25 +0000 (07:10 +0000)]
Skip live edit debug tests, these are flaky because in the case of osr we will get wrong frame heights.
Review URL: http://codereview.chromium.org/8401029

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

12 years agoPrepare push to trunk. Now working on 3.7.2
erik.corry@gmail.com [Thu, 27 Oct 2011 05:27:38 +0000 (05:27 +0000)]
Prepare push to trunk. Now working on 3.7.2
Review URL: http://codereview.chromium.org/8390049

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

12 years agoMIPS: port Implement for-in loop for proxies.
yangguo@chromium.org [Wed, 26 Oct 2011 15:02:00 +0000 (15:02 +0000)]
MIPS: port Implement for-in loop for proxies.

Port r9760 (a1c4dc80)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8396029
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFix bug in lazy deoptimization after HInvokeFunction.
fschneider@chromium.org [Wed, 26 Oct 2011 14:05:18 +0000 (14:05 +0000)]
Fix bug in lazy deoptimization after HInvokeFunction.

The full code generator expects the function expression on top
of the stack until after the all. We have to emit the call + the
corresponding simulate before dropping it in the hydrogen code.

BUG=v8:1789
Review URL: http://codereview.chromium.org/8391042

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

12 years agoRemove special-casing of calls to RegExp test and exec methods with no argument.
lrn@chromium.org [Wed, 26 Oct 2011 12:51:07 +0000 (12:51 +0000)]
Remove special-casing of calls to RegExp test and exec methods with no argument.

Matches new JSC behavior. Fix issue 75740.

BUG=75740
TEST=mjsunit/regexp-static

Review URL: http://codereview.chromium.org/6677020

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

12 years agoHandlify CompileStoreCallback, CompileStoreInterceptor.
ulan@chromium.org [Wed, 26 Oct 2011 12:35:12 +0000 (12:35 +0000)]
Handlify CompileStoreCallback, CompileStoreInterceptor.

R=kmillikin@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8390045

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

12 years agoMIPS: port Refactor and clean up array allocation across platforms.
yangguo@chromium.org [Wed, 26 Oct 2011 12:35:10 +0000 (12:35 +0000)]
MIPS: port Refactor and clean up array allocation across platforms.

Port r9747 (dc33375)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8395030
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFix identity hash code function to respect flag.
mstarzinger@chromium.org [Wed, 26 Oct 2011 12:23:40 +0000 (12:23 +0000)]
Fix identity hash code function to respect flag.

The flag passed to JSObject::GetIdentityHash() was not respected so far
and an indentity hash code was generated even when the flag requested
not to do so. This could lead to a rare corner cases (for which a test
case was added) where a GC request would have been dropped.

R=rossberg@chromium.org
TEST=cctest/test-dictionary

Review URL: http://codereview.chromium.org/8390047

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

12 years agoFixing issue 1788.
yangguo@chromium.org [Wed, 26 Oct 2011 11:34:11 +0000 (11:34 +0000)]
Fixing issue 1788.

BUG=v8:1788

Review URL: http://codereview.chromium.org/8396037

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

12 years agoHandlify simple functions of [keyed] store stub compiler.
ulan@chromium.org [Wed, 26 Oct 2011 10:45:24 +0000 (10:45 +0000)]
Handlify simple functions of [keyed] store stub compiler.

Handlified functions: CompileStoreField, CompileStoreGlobal, CompileStoreElement, CompileStorePolymorphic.

Based on 8375053.

R=kmillikin@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8393003

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

12 years agoFix Error.prototype.toString to be ES5 conform.
mstarzinger@chromium.org [Wed, 26 Oct 2011 10:41:52 +0000 (10:41 +0000)]
Fix Error.prototype.toString to be ES5 conform.

R=lrn@chromium.org
TEST=test262/15.11.4.4-8-1,mjsunit/error-tostring

Review URL: http://codereview.chromium.org/8341021

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

12 years agoFix bug in inlining call-as-function when inlining multiple levels deep.
fschneider@chromium.org [Wed, 26 Oct 2011 10:31:06 +0000 (10:31 +0000)]
Fix bug in inlining call-as-function when inlining multiple levels deep.

This change fixes a off-by-one level error when dropping the
function from the environment. The function of the outermost
environment was not dropped.

BUG=v8:1785
TEST=test/mjsunit/compiler/regress-inline-callfunctionstub.js
Review URL: http://codereview.chromium.org/8341019

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

12 years agoHandlify CompileLoadGlobal, CompileLoadElement, CompileLoadPolymorphic.
ulan@chromium.org [Wed, 26 Oct 2011 09:58:32 +0000 (09:58 +0000)]
Handlify CompileLoadGlobal, CompileLoadElement, CompileLoadPolymorphic.

R=kmillikin@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8375053

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

12 years agoHandle proxies in KeyedStoreIC::Store, instead of just ignoring them.
rossberg@chromium.org [Wed, 26 Oct 2011 09:31:40 +0000 (09:31 +0000)]
Handle proxies in KeyedStoreIC::Store, instead of just ignoring them.

R=mstarzinger@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/8391005

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

12 years agoMIPS: port Moved random generator state to global context.
lrn@chromium.org [Wed, 26 Oct 2011 09:30:04 +0000 (09:30 +0000)]
MIPS: port Moved random generator state to global context.

Port r9753 (28cd67f8)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8390032

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

12 years agoMIPS: port Handlify simple functions of [keyed] load stub compiler.
ulan@chromium.org [Wed, 26 Oct 2011 09:21:36 +0000 (09:21 +0000)]
MIPS: port Handlify simple functions of [keyed] load stub compiler.

Port r9773 (4cf7a453)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8390035

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

12 years agoMIPS: port Replace boolean indications of strict mode by an enum value.
keuchel@chromium.org [Wed, 26 Oct 2011 08:43:33 +0000 (08:43 +0000)]
MIPS: port Replace boolean indications of strict mode by an enum value.

Port r9746 (804e4e4)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8390030
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoMIPS: port Block scoped const variables.
keuchel@chromium.org [Wed, 26 Oct 2011 08:42:15 +0000 (08:42 +0000)]
MIPS: port Block scoped const variables.

Port r9764 (9b9689d5)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8390033
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoMIPS: port Handlify CallStubCompiler::CompileCallField.
kmillikin@chromium.org [Wed, 26 Oct 2011 08:32:37 +0000 (08:32 +0000)]
MIPS: port Handlify CallStubCompiler::CompileCallField.

Port r9769 (db287698)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8394028
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoLand two MIPS changes.
fschneider@chromium.org [Wed, 26 Oct 2011 08:17:24 +0000 (08:17 +0000)]
Land two MIPS changes.

 Issue 8368021: MIPS: port Fix compilation on ARM and x64 broken by r9738
 Issue 8378001: MIPS: port Avoid static initializers in assember-arm.h.
Review URL: http://codereview.chromium.org/8341048

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

12 years agoMake the irregexp interpreter throw on stack overflow.
lrn@chromium.org [Wed, 26 Oct 2011 06:37:57 +0000 (06:37 +0000)]
Make the irregexp interpreter throw on stack overflow.

BUG=v8:904

Review URL: http://codereview.chromium.org/8387027

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

12 years agoTemporarily skip failing test to make sure builders cycle green.
fschneider@chromium.org [Tue, 25 Oct 2011 16:11:53 +0000 (16:11 +0000)]
Temporarily skip failing test to make sure builders cycle green.

R=mstarzinger@chromium.org
Review URL: http://codereview.chromium.org/8393005

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

12 years agoTake loop side-effects into account when collecting side-effects on the path between...
vegorov@chromium.org [Tue, 25 Oct 2011 15:39:55 +0000 (15:39 +0000)]
Take loop side-effects into account when collecting side-effects on the path between two blocks.

R=fschneider@chromium.org
BUG=100409
TEST=test/mjsunit/regress/regress-100409.js

Review URL: http://codereview.chromium.org/8395002

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

12 years agoImplement Harmony sets and maps.
mstarzinger@chromium.org [Tue, 25 Oct 2011 14:14:56 +0000 (14:14 +0000)]
Implement Harmony sets and maps.

This implementation extends the internal ObjectHashTable to be able to
hold arbitrary objects (e.g. Smis, Strings, ...) as keys by applying
specialized hashing functions to primitive types. Equality of keys is
defined using the internal SameValue function.

R=rossberg@chromium.org
BUG=v8:1622
TEST=mjsunit/harmony/collections

Review URL: http://codereview.chromium.org/8372027

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

12 years agoPrint out line number and extension name when compilation of an extension fails....
ricow@chromium.org [Tue, 25 Oct 2011 13:43:19 +0000 (13:43 +0000)]
Print out line number and extension name when compilation of an extension fails. This fixes issue 305.
Review URL: http://codereview.chromium.org/8332029

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

12 years agoRemove superfluous assert.
erikcorry [Tue, 25 Oct 2011 13:34:52 +0000 (13:34 +0000)]
Remove superfluous assert.
Review URL: http://codereview.chromium.org/8332028

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

12 years agoMove some heap verification code in under the --verify-heap flag to speed
erik.corry@gmail.com [Tue, 25 Oct 2011 13:27:46 +0000 (13:27 +0000)]
Move some heap verification code in under the --verify-heap flag to speed
up debug mode tests.
Review URL: http://codereview.chromium.org/8381040

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

12 years agoHandlify simple functions of [keyed] load stub compiler.
ulan@chromium.org [Tue, 25 Oct 2011 12:26:07 +0000 (12:26 +0000)]
Handlify simple functions of [keyed] load stub compiler.

Handlified functions: CompileLoadNonexistent, CompileLoadField,
CompileLoadConstant, CompileLoadArrayLength, CompileLoadStringLength,
CompileLoadFunctionPrototype.

R=kmillikin@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8383033

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

12 years agoSpeed up debug mode GC.
erik.corry@gmail.com [Tue, 25 Oct 2011 12:13:06 +0000 (12:13 +0000)]
Speed up debug mode GC.
Review URL: http://codereview.chromium.org/8380038

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

12 years agoGet back the performance lost in context creation in 9744.
erik.corry@gmail.com [Tue, 25 Oct 2011 11:02:29 +0000 (11:02 +0000)]
Get back the performance lost in context creation in 9744.
Review URL: http://codereview.chromium.org/8332026

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

12 years agoFix presubmit error introduced by r9767.
vegorov@chromium.org [Tue, 25 Oct 2011 09:30:52 +0000 (09:30 +0000)]
Fix presubmit error introduced by r9767.

TBR=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8383031

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

12 years agoHandlify CallStubCompiler::CompileCallField.
kmillikin@chromium.org [Tue, 25 Oct 2011 09:24:49 +0000 (09:24 +0000)]
Handlify CallStubCompiler::CompileCallField.

This function relies on a number of helpers for checking prototypes and
probing dictionaries.  It is not possible to wrap these helpers to retry
after allocation failure in a safe way---the assembler has no way to undo
what it has already assembled.

These functions have all been duplicated with handle and raw versions.  The
raw versions will eventually be removed completely.

R=ulan@chromium.org,vegorov@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8332003

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

12 years agoCompileArrayPushCall should not use context register as a scratch.
vegorov@chromium.org [Tue, 25 Oct 2011 09:07:09 +0000 (09:07 +0000)]
CompileArrayPushCall should not use context register as a scratch.

R=kmillikin@chromium.org

Review URL: http://codereview.chromium.org/8330026

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

12 years agoProvide fast-path for CHECK macro.
vegorov@chromium.org [Tue, 25 Oct 2011 09:06:07 +0000 (09:06 +0000)]
Provide fast-path for CHECK macro.

Makes debug build 20% faster.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8256011

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

12 years agoFix 9763 for real.
erik.corry@gmail.com [Tue, 25 Oct 2011 08:59:03 +0000 (08:59 +0000)]
Fix 9763 for real.
Review URL: http://codereview.chromium.org/8382032

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

12 years agoFix 9763 after build bot failures.
erik.corry@gmail.com [Tue, 25 Oct 2011 08:42:38 +0000 (08:42 +0000)]
Fix 9763 after build bot failures.
Review URL: http://codereview.chromium.org/8382031

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

12 years agoBlock scoped const variables.
keuchel@chromium.org [Tue, 25 Oct 2011 08:33:08 +0000 (08:33 +0000)]
Block scoped const variables.

This implements block scoped 'const' declared variables in harmony mode. They
have a temporal dead zone semantics similar to 'let' bindings, i.e. accessing
uninitialized 'const' bindings in throws a ReferenceError.

As for 'let' bindings, the semantics of 'const' bindings in global scope is not
correctly implemented yet. Furthermore assignments to 'const's are silently
ignored. Another CL will introduce treatment of those assignments as early
errors.

Review URL: http://codereview.chromium.org/7992005

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

12 years agoGet the speed back in new context creation after it was tanked
erik.corry@gmail.com [Tue, 25 Oct 2011 08:24:06 +0000 (08:24 +0000)]
Get the speed back in new context creation after it was tanked
in 9744.
Review URL: http://codereview.chromium.org/8380035

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

12 years agoAdd missing comment from last commit.
erik.corry@gmail.com [Tue, 25 Oct 2011 08:23:56 +0000 (08:23 +0000)]
Add missing comment from last commit.
Review URL: http://codereview.chromium.org/8383003

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

12 years agoAdapt to latest spec changes for Proxy.create[Function].
rossberg@chromium.org [Mon, 24 Oct 2011 16:25:30 +0000 (16:25 +0000)]
Adapt to latest spec changes for Proxy.create[Function].

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8271005

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

12 years agoImplement for-in loop for proxies.
rossberg@chromium.org [Mon, 24 Oct 2011 15:56:18 +0000 (15:56 +0000)]
Implement for-in loop for proxies.
Fix related corner case for Object.keys.
Remove obsolete GET_KEYS builtin.

R=ricow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8256015

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

12 years agoHandle COW-arrays correctly when converting smi->double fast elements.
yangguo@chromium.org [Mon, 24 Oct 2011 15:06:20 +0000 (15:06 +0000)]
Handle COW-arrays correctly when converting smi->double fast elements.

TEST=mjsunit/elements-transition.js

Review URL: http://codereview.chromium.org/8383002

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

12 years agoFix bug in environment simulation after inlined call-as-function.
fschneider@chromium.org [Mon, 24 Oct 2011 13:53:08 +0000 (13:53 +0000)]
Fix bug in environment simulation after inlined call-as-function.

This change is based on my previous change enabling inlining calls-as-function
fixing the bugs related to deoptimization.

The function value on top of the environment was dropped too late in the old code.
As a result we could get a wrong value on top after deoptimization.

This change includes r9619. It was reverted because of test failures that are fixed
with this patch.
Review URL: http://codereview.chromium.org/8360001

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

12 years agoUse handle lists in Map::FindTransitionedMap.
ulan@chromium.org [Mon, 24 Oct 2011 13:45:19 +0000 (13:45 +0000)]
Use handle lists in Map::FindTransitionedMap.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8373030

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

12 years agoUse handle lists instead of raw pointer lists in polymorphic code cache.
ulan@chromium.org [Mon, 24 Oct 2011 13:11:14 +0000 (13:11 +0000)]
Use handle lists instead of raw pointer lists in polymorphic code cache.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8368024

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

12 years agoFix crash in partial snapshot test when running with no boot snapshot.
erik.corry@gmail.com [Mon, 24 Oct 2011 12:39:29 +0000 (12:39 +0000)]
Fix crash in partial snapshot test when running with no boot snapshot.
Review URL: http://codereview.chromium.org/8381003

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

12 years agoFix typo in type-name and reorder initialization order.
lrn@chromium.org [Mon, 24 Oct 2011 12:19:55 +0000 (12:19 +0000)]
Fix typo in type-name and reorder initialization order.

Remember, when coming back to an old CL, do check that it still works.

Review URL: http://codereview.chromium.org/8351002

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

12 years agoMoved random generator state to global context.
lrn@chromium.org [Mon, 24 Oct 2011 12:12:21 +0000 (12:12 +0000)]
Moved random generator state to global context.

Change Random to take global context, not isolate.

BUG=v8:864

Review URL: http://codereview.chromium.org/8162014

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

12 years agoRemove one static initializer from disasm.
lrn@chromium.org [Mon, 24 Oct 2011 12:07:35 +0000 (12:07 +0000)]
Remove one static initializer from disasm.

Review URL: http://codereview.chromium.org/8381002

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

12 years agoFurther improvements upon r9747.
yangguo@chromium.org [Mon, 24 Oct 2011 11:16:38 +0000 (11:16 +0000)]
Further improvements upon r9747.

Review URL: http://codereview.chromium.org/8372028

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

12 years agoHandlify the remaining stub compiler functions for call ICs.
kmillikin@chromium.org [Mon, 24 Oct 2011 10:55:00 +0000 (10:55 +0000)]
Handlify the remaining stub compiler functions for call ICs.

Handlify StubCompiler functions for CallIC and KeyedCallIC cases
Megamorphic, Arguments, DebugBreak, and DebugPrepareStepIn.

R=ulan@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8372029

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

12 years agoHandlify call cases for pre-monomorphic, normal, and miss.
kmillikin@chromium.org [Mon, 24 Oct 2011 09:33:11 +0000 (09:33 +0000)]
Handlify call cases for pre-monomorphic, normal, and miss.

These cases turn out to be easy.  There is a lingering raw pointer
implementation of TryCompileCallMiss because it's need by some of the
unconverted call stubs.

R=ulan@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8366036

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

12 years agoFix initialization of allocation timeout value.
mstarzinger@chromium.org [Mon, 24 Oct 2011 08:59:34 +0000 (08:59 +0000)]
Fix initialization of allocation timeout value.

The allocation timeout value should not be initialized to 0, that
triggers a collection at the first allocation which breaks assumptions
for some test cases.

R=ricow@chromium.org
TEST=cctest/test-heap/Iteration

Review URL: http://codereview.chromium.org/8275032

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

12 years agoRefactor and clean up array allocation across platforms.
yangguo@chromium.org [Mon, 24 Oct 2011 07:55:50 +0000 (07:55 +0000)]
Refactor and clean up array allocation across platforms.

Review URL: http://codereview.chromium.org/8359034

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

12 years agoReplace boolean indications of strict mode by an enum value.
keuchel@chromium.org [Mon, 24 Oct 2011 07:47:22 +0000 (07:47 +0000)]
Replace boolean indications of strict mode by an enum value.

Review URL: http://codereview.chromium.org/8344082

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

12 years agoMIPS: Porting r9605 to arm (elements kind conversion in generated code).
yangguo@chromium.org [Fri, 21 Oct 2011 18:40:36 +0000 (18:40 +0000)]
MIPS: Porting r9605 to arm (elements kind conversion in generated code).

Port r9690 (857eacf)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8366031
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFix missing write barrier in deserialization. Issue 1783.
erik.corry@gmail.com [Fri, 21 Oct 2011 15:20:53 +0000 (15:20 +0000)]
Fix missing write barrier in deserialization.  Issue 1783.
Review URL: http://codereview.chromium.org/8352045

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

12 years agoMIPS: port Support array literals with FAST_DOUBLE_ELEMENTS ElementsKind.
danno@chromium.org [Fri, 21 Oct 2011 15:15:47 +0000 (15:15 +0000)]
MIPS: port Support array literals with FAST_DOUBLE_ELEMENTS ElementsKind.

Port r9698 (cf0cc54f)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8363025
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoThe detailed heap snapshot generator was slightly adjusted for tracking sliced strings.
mikhail.naganov@gmail.com [Fri, 21 Oct 2011 13:05:37 +0000 (13:05 +0000)]
The detailed heap snapshot generator was slightly adjusted for tracking sliced strings.

BUG=v8:1779
TEST=cctest/test-heap-profiler/HeapSnapshotSlicedString

Review URL: http://codereview.chromium.org/8362028
Patch from Ilya Tikhonovsky <loislo@chromium.org>.

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

12 years agoHandlify KeyedIC::ComputeStub.
ulan@chromium.org [Fri, 21 Oct 2011 11:42:54 +0000 (11:42 +0000)]
Handlify KeyedIC::ComputeStub.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8356041

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

12 years agoMIPS: port RegExpMacroAssembler::CheckStackGuardState should update input string...
vegorov@chromium.org [Fri, 21 Oct 2011 10:59:25 +0000 (10:59 +0000)]
MIPS: port RegExpMacroAssembler::CheckStackGuardState should update input string pointer...

... when it is moved or changed by GC.

Port r9697 (d53382a)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8362024
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFix compilation on ARM and x64 broken by r9738
vegorov@chromium.org [Fri, 21 Oct 2011 10:53:02 +0000 (10:53 +0000)]
Fix compilation on ARM and x64 broken by r9738

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8359026

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

12 years agoAvoid write-barriers when initializing newly created Code object.
vegorov@chromium.org [Fri, 21 Oct 2011 10:37:56 +0000 (10:37 +0000)]
Avoid write-barriers when initializing newly created Code object.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8365029

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

12 years agoDisable incremental marking when GC extension is exposed.
vegorov@chromium.org [Fri, 21 Oct 2011 10:33:50 +0000 (10:33 +0000)]
Disable incremental marking when GC extension is exposed.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8366001

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

12 years agoFix CountLeadingZeros on non-ARMv5 hardware.
vegorov@chromium.org [Fri, 21 Oct 2011 10:33:12 +0000 (10:33 +0000)]
Fix CountLeadingZeros on non-ARMv5 hardware.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8361030

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

12 years agoAvoid incremental marking write-barrier when constructing descriptor arrays.
vegorov@chromium.org [Fri, 21 Oct 2011 10:32:38 +0000 (10:32 +0000)]
Avoid incremental marking write-barrier when constructing descriptor arrays.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8360004

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

12 years agoReapply r9673 "Scope tree serialization and ScopeIterator cleanup."
keuchel@chromium.org [Fri, 21 Oct 2011 10:26:59 +0000 (10:26 +0000)]
Reapply r9673 "Scope tree serialization and ScopeIterator cleanup."

This also includes the two fixes from r9674 and r9675. Here's the diff
to the previous CL.

 --- a/src/runtime.cc
 +++ b/src/runtime.cc
 @@ -11133,17 +11133,26 @@ class ScopeIterator {
        context_(Context::cast(frame->context())),
        nested_scope_chain_(4) {

 +    // Catch the case when the debugger stops in an internal function.
 +    Handle<SharedFunctionInfo> shared_info(function_->shared());
 +    if (shared_info->script() == isolate->heap()->undefined_value()) {
 +      if (shared_info->scope_info()->HasContext()) Next();
 +      return;
 +    }
 +
      // Check whether we are in global code or function code. If there is a stack
      // slot for .result then this function has been created for evaluating
      // global code and it is not a real function.
      // Checking for the existence of .result seems fragile, but the scope info
      // saved with the code object does not otherwise have that information.
 -    int index = function_->shared()->scope_info()->
 +    int index = shared_info->scope_info()->
          StackSlotIndex(isolate_->heap()->result_symbol());

      // Reparse the code and analyze the scopes.
      ZoneScope zone_scope(isolate, DELETE_ON_EXIT);
 -    Handle<SharedFunctionInfo> shared_info(function_->shared());
      Handle<Script> script(Script::cast(shared_info->script()));
      Scope* scope;
      if (index >= 0) {

Review URL: http://codereview.chromium.org/8344046

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

12 years agoHandlify StubCompiler::CompileCallInitialize.
kmillikin@chromium.org [Fri, 21 Oct 2011 10:19:16 +0000 (10:19 +0000)]
Handlify StubCompiler::CompileCallInitialize.

CallIC::GenerateInitialize and KeyedCallIC::GenerateInitialize are
verified safe for GC.

R=ulan@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8361028

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

12 years agoAvoid static initializers in assember-arm.h.
fschneider@chromium.org [Fri, 21 Oct 2011 09:55:25 +0000 (09:55 +0000)]
Avoid static initializers in assember-arm.h.

Patch by joth@chromium.org.

BUG=v8:1784
Review URL: http://codereview.chromium.org/8367001

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

12 years agoMIPS: port Handlify the stub cache lookup and patching for CallIC and KeyedCallIC.
kmillikin@chromium.org [Fri, 21 Oct 2011 08:59:32 +0000 (08:59 +0000)]
MIPS: port Handlify the stub cache lookup and patching for CallIC and KeyedCallIC.

Port r9729 (4aa1f5a6)

BUG=
TEST=

Review URL: http://codereview.chromium.org/8365026
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFix presubmit failure.
kmillikin@chromium.org [Thu, 20 Oct 2011 17:28:14 +0000 (17:28 +0000)]
Fix presubmit failure.

TBR=ulan@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8364004

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

12 years agoHandlify the stub cache lookup and patching for CallIC and KeyedCallIC.
kmillikin@chromium.org [Thu, 20 Oct 2011 17:08:53 +0000 (17:08 +0000)]
Handlify the stub cache lookup and patching for CallIC and KeyedCallIC.

R=ulan@chromium.org,vegorov@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/8357010

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

12 years agoReset failure flag before retrying stub compilation.
ulan@chromium.org [Thu, 20 Oct 2011 16:39:26 +0000 (16:39 +0000)]
Reset failure flag before retrying stub compilation.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8365003

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

12 years agoHandlify upper layers of KeyedStoreIC.
ulan@chromium.org [Thu, 20 Oct 2011 13:54:16 +0000 (13:54 +0000)]
Handlify upper layers of KeyedStoreIC.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8356039

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

12 years agoFix the build on Mac.
erik.corry@gmail.com [Thu, 20 Oct 2011 13:47:14 +0000 (13:47 +0000)]
Fix the build on Mac.
Review URL: http://codereview.chromium.org/8354037

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

12 years agoImproved printing of Simulate, LoadNamedFieldPolymorphic, LoadNamedGeneric, and Store...
svenpanne@chromium.org [Thu, 20 Oct 2011 12:55:31 +0000 (12:55 +0000)]
Improved printing of Simulate, LoadNamedFieldPolymorphic, LoadNamedGeneric, and StoreNamedField Hydrogen instructions a bit.
Review URL: http://codereview.chromium.org/8352044

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

12 years agoRefactor elements kind conversion.
yangguo@chromium.org [Thu, 20 Oct 2011 12:36:45 +0000 (12:36 +0000)]
Refactor elements kind conversion.

Review URL: http://codereview.chromium.org/8355035

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

12 years agoMake builtin functions be skipped in stack traces.
lrn@chromium.org [Thu, 20 Oct 2011 12:31:33 +0000 (12:31 +0000)]
Make builtin functions be skipped in stack traces.

Does include exposed builtin functions ("native functions").

Review URL: http://codereview.chromium.org/8345039

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

12 years agoShave 39% from snapshot size.
erik.corry@gmail.com [Thu, 20 Oct 2011 12:27:10 +0000 (12:27 +0000)]
Shave 39% from snapshot size.
Review URL: http://codereview.chromium.org/8344079

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

12 years agoSwitch UnreachableObjectsFilter to use Marking instead of InstrusiveMarking.
vegorov@chromium.org [Thu, 20 Oct 2011 11:40:16 +0000 (11:40 +0000)]
Switch UnreachableObjectsFilter to use Marking instead of InstrusiveMarking.

GcSafeFindCodeForInnerPointer does not work with intrusive marking now and it is used when roots are iterated.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8342037

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

12 years agoSpeed up comparison with a constant.
whesse@chromium.org [Thu, 20 Oct 2011 10:26:45 +0000 (10:26 +0000)]
Speed up comparison with a constant.
Improve optimized code for comparison of an int32 against a constant, or comparison of two double constants.  Contributed by m.m.capewell.

Original codereview is http://codereview.chromium.org/7489045/.
This cl is just created in order to commit the change.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8352040

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

12 years agoFix x64 and ARM builds.
danno@chromium.org [Thu, 20 Oct 2011 10:07:54 +0000 (10:07 +0000)]
Fix x64 and ARM builds.

TBR=jkummerow@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/8358001

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

12 years agoMake sure PrintElementsKind is compiled in release mode.
danno@chromium.org [Thu, 20 Oct 2011 09:56:18 +0000 (09:56 +0000)]
Make sure PrintElementsKind is compiled in release mode.

TBR=jkummerow@chromium.org
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/8357035

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

12 years agoAdd flag to trace element kind transitions
danno@chromium.org [Thu, 20 Oct 2011 09:38:24 +0000 (09:38 +0000)]
Add flag to trace element kind transitions

Currently only traces transitions from generated ia32 code.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/8357004

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

12 years agoHandlify upper layers of KeyedLoadIC.
ulan@chromium.org [Thu, 20 Oct 2011 09:35:47 +0000 (09:35 +0000)]
Handlify upper layers of KeyedLoadIC.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8352003

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

12 years agoElementsKind transitioning support for keyed loads in Crankshaft
jkummerow@chromium.org [Thu, 20 Oct 2011 08:49:01 +0000 (08:49 +0000)]
ElementsKind transitioning support for keyed loads in Crankshaft

Review URL: http://codereview.chromium.org/8352012

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

12 years agoHandle keyed stores after elements transition monomorphically if possible
jkummerow@chromium.org [Thu, 20 Oct 2011 08:41:38 +0000 (08:41 +0000)]
Handle keyed stores after elements transition monomorphically if possible

Review URL: http://codereview.chromium.org/8354003

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

12 years agoMake IsGenericDescriptor spec-conformant.
svenpanne@chromium.org [Thu, 20 Oct 2011 07:55:30 +0000 (07:55 +0000)]
Make IsGenericDescriptor spec-conformant.

When the descriptor argument is undefined, the spec is very explicit about the
fact that we should return false (not true, like we did previously). I couldn't
come up with a test case for this, but the old code leaves a bad feeling about
corner cases, so better play safe.
Review URL: http://codereview.chromium.org/8356004

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

12 years agoAdapt sputnik test expectations to last change.
mstarzinger@chromium.org [Wed, 19 Oct 2011 15:34:32 +0000 (15:34 +0000)]
Adapt sputnik test expectations to last change.

The version of Sputnik which we test against uses the obsolete ES3
specification when it comes to Function.prototype.apply, ignore some
test cases that are supposed to fail according to ES5.

TBR=rossberg@chromium.org
TEST=sputnik

Review URL: http://codereview.chromium.org/8355005

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

12 years agoFix handling Function.apply for non-array arguments.
mstarzinger@chromium.org [Wed, 19 Oct 2011 13:56:18 +0000 (13:56 +0000)]
Fix handling Function.apply for non-array arguments.

R=rossberg@chromium.org
TEST=mjsunit/apply,test262

Review URL: http://codereview.chromium.org/8342034

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

12 years agoTemporarily skip asserts in test mjsunit/debug-step-3.js until issue is resolved
sgjesse@chromium.org [Wed, 19 Oct 2011 13:47:53 +0000 (13:47 +0000)]
Temporarily skip asserts in test mjsunit/debug-step-3.js until issue is resolved

R=kmillikin@chromium.org

BUG=v8:1782
TEST=mjsunit/debug-step-3.js

Review URL: http://codereview.chromium.org//8356001

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

12 years agoFix Array.filter to use internal array for result.
mstarzinger@chromium.org [Wed, 19 Oct 2011 13:44:29 +0000 (13:44 +0000)]
Fix Array.filter to use internal array for result.

In built-in code we use arrays for internal computations. This makes it
possible to affect the built-in code by putting getters or setters on
the array prototype chain. Using internal arrays prevents those issues.

Related to: http://code.google.com/p/v8/source/detail?r=7040

R=svenpanne@chromium.org
TEST=test262/15.4.4.20-9-b-6

Review URL: http://codereview.chromium.org/8353006

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

12 years ago[[DefineOwnProperty]] should always return true/false (or throw an exception), never...
svenpanne@chromium.org [Wed, 19 Oct 2011 13:29:37 +0000 (13:29 +0000)]
[[DefineOwnProperty]] should always return true/false (or throw an exception), never undefined.

Note that this is not an observable behavior, but following the principle of
least surprise, we should follow the spec. Additional (extremely tiny) bonus:
Some ICs see fewer values => better code.
Review URL: http://codereview.chromium.org/8352004

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

12 years agoAdjust elements-kind.js expectation when --smi-only-arrays is off
jkummerow@chromium.org [Wed, 19 Oct 2011 12:44:50 +0000 (12:44 +0000)]
Adjust elements-kind.js expectation when --smi-only-arrays is off

TEST=mjsunit/elements-kind passes both with and without --smi-only-arrays flag

Review URL: http://codereview.chromium.org/8356002

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

12 years agoOptimize fast element conversion in arm using batch store/loads.
yangguo@chromium.org [Wed, 19 Oct 2011 12:15:15 +0000 (12:15 +0000)]
Optimize fast element conversion in arm using batch store/loads.

Review URL: http://codereview.chromium.org/8353002

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

12 years agoRevert 9673, 9674 and 9675 because of failing webkit tests.
keuchel@chromium.org [Wed, 19 Oct 2011 12:15:02 +0000 (12:15 +0000)]
Revert 9673, 9674 and 9675 because of failing webkit tests.

This reverts commits
r9673: "Scope tree serialization and ScopeIterator cleanup."
r9674: "Use OS::SNPrintF instead of snprintf."
r9675: "Use int instead of size_t, StrLength instead of strlen."

Review URL: http://codereview.chromium.org/8353003

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