platform/upstream/v8.git
10 years agoRefactor inlined typed array runtime functions.
yangguo@chromium.org [Mon, 24 Mar 2014 08:22:24 +0000 (08:22 +0000)]
Refactor inlined typed array runtime functions.

R=dslomov@chromium.org

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

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

10 years agoDo stack checks while pushing locals
dcarney@chromium.org [Mon, 24 Mar 2014 08:17:06 +0000 (08:17 +0000)]
Do stack checks while pushing locals

R=yangguo@chromium.org

BUG=

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

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

10 years agoFix options for calling push-to-trunk script.
machenbach@chromium.org [Mon, 24 Mar 2014 08:03:15 +0000 (08:03 +0000)]
Fix options for calling push-to-trunk script.

BUG=
TBR=jkummerow@chromium.org

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

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

10 years agoDisable concurrent OSR.
yangguo@chromium.org [Mon, 24 Mar 2014 07:44:50 +0000 (07:44 +0000)]
Disable concurrent OSR.

R=svenpanne@chromium.org

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

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

10 years agoARM: fix assertions for uxtb and co.
rodolph.perfetta@arm.com [Fri, 21 Mar 2014 15:59:45 +0000 (15:59 +0000)]
ARM: fix assertions for uxtb and co.

Allow operands with ROR #0. Behind the scene they are mapped to LSL #0.

BUG=v8:3209
LOG=N
R=ulan@chromium.org

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

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

10 years agoTentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source.
marja@chromium.org [Fri, 21 Mar 2014 15:24:36 +0000 (15:24 +0000)]
Tentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source.

For more information, see the bug. Compare to ScriptOrigin
which is not exported either.

BUG=v8:3228
LOG=Y
R=dcarney@chromium.org, jkummerow@chromium.org

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

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

10 years agoA64: Now that we have veneers, fix a couple of branches to directly jump to their...
alexandre.rames@arm.com [Fri, 21 Mar 2014 15:08:50 +0000 (15:08 +0000)]
A64: Now that we have veneers, fix a couple of branches to directly jump to their target.

R=ulan@chromium.org

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

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

10 years agoLet auto-roll push the lkgr.
machenbach@chromium.org [Fri, 21 Mar 2014 15:04:54 +0000 (15:04 +0000)]
Let auto-roll push the lkgr.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoAdd special check for topmost optimized code in deoptimizer verification.
ulan@chromium.org [Fri, 21 Mar 2014 15:03:40 +0000 (15:03 +0000)]
Add special check for topmost optimized code in deoptimizer verification.

BUG=354843
LOG=N
R=jkummerow@chromium.org

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

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

10 years agoJSObject::EnsureCanContainElements() handlified.
ishell@chromium.org [Fri, 21 Mar 2014 14:29:27 +0000 (14:29 +0000)]
JSObject::EnsureCanContainElements() handlified.

R=verwaest@chromium.org

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

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

10 years agoEnable concurrent OSR.
yangguo@chromium.org [Fri, 21 Mar 2014 14:05:49 +0000 (14:05 +0000)]
Enable concurrent OSR.

R=danno@chromium.org

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

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

10 years agoARM64: Fix some stub-cache TODOs
m.m.capewell@googlemail.com [Fri, 21 Mar 2014 13:11:50 +0000 (13:11 +0000)]
ARM64: Fix some stub-cache TODOs

BUG=
R=ulan@chromium.org

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

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

10 years agoARM: Fix Q register encoding
m.m.capewell@googlemail.com [Fri, 21 Mar 2014 13:04:20 +0000 (13:04 +0000)]
ARM: Fix Q register encoding

Fix Q register encoding for registers other than Q0. Also, fix value in NeonSize
enumeration.

BUG=
R=ulan@chromium.org

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

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

10 years agoAdd option to run ScopeIterator faster giving up nested scope chain.
ulan@chromium.org [Fri, 21 Mar 2014 12:30:58 +0000 (12:30 +0000)]
Add option to run ScopeIterator faster giving up nested scope chain.

We'd like to be able to trade nested scope chain info (consisting of with, block and catch scopes) in favor of speed in some cases.

BUG=chromium:340285
LOG=N
R=ulan@chromium.org, pfeldman, ulan, yangguo

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

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

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

10 years agoReland of r20146 "JSObject::NormalizeElements() handlified."
ishell@chromium.org [Fri, 21 Mar 2014 12:23:39 +0000 (12:23 +0000)]
Reland of r20146 "JSObject::NormalizeElements() handlified."

R=verwaest@chromium.org

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

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

10 years agoAdd a utility method to the ia32 macro assembler to move a double immediate into...
titzer@chromium.org [Fri, 21 Mar 2014 12:16:37 +0000 (12:16 +0000)]
Add a utility method to the ia32 macro assembler to move a double immediate into an XMM register.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoSplit of rolling Chromium from push-to-trunk.
machenbach@chromium.org [Fri, 21 Mar 2014 12:15:25 +0000 (12:15 +0000)]
Split of rolling Chromium from push-to-trunk.

This moves rolling Chromium into a new script with its own tests.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoVisit return statement of inlined function in value context.
ulan@chromium.org [Fri, 21 Mar 2014 12:14:44 +0000 (12:14 +0000)]
Visit return statement of inlined function in value context.

BUG=354357
LOG=N
TEST=mjsunit/regress/regress-354357.js
R=mstarzinger@chromium.org

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

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

10 years agoMark CollectCpuProfile as flaky.
yangguo@chromium.org [Fri, 21 Mar 2014 11:45:54 +0000 (11:45 +0000)]
Mark CollectCpuProfile as flaky.

R=machenbach@chromium.org
BUG=v8:2999
LOG=N

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

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

10 years agoArraySplice builtin handlified.
ishell@chromium.org [Fri, 21 Mar 2014 11:22:16 +0000 (11:22 +0000)]
ArraySplice builtin handlified.

R=yangguo@chromium.org

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

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

10 years agoEnsure that lazy deopt sequence does not override calls.
ulan@chromium.org [Fri, 21 Mar 2014 11:02:15 +0000 (11:02 +0000)]
Ensure that lazy deopt sequence does not override calls.

BUG=354433
LOG=N
TEST=mjsunit/regress/regress-354433.js
R=jkummerow@chromium.org

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

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

10 years agoRevert "JSObject::NormalizeElements() handlified."
ishell@chromium.org [Fri, 21 Mar 2014 10:42:19 +0000 (10:42 +0000)]
Revert "JSObject::NormalizeElements() handlified."

This reverts commit r20146 which broke V8 GC Stress, Mjsunit tests.

R=yangguo@chromium.org

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

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

10 years agoMove new expression parsing funcs to ParserBase.
marja@chromium.org [Fri, 21 Mar 2014 10:34:51 +0000 (10:34 +0000)]
Move new expression parsing funcs to ParserBase.

Functions moved: ParseMemberWithNewPrefixesExpression, ParseMemberExpression,
ParseMemberExpressionContinuation.

Now all Parse*Expression functions are in ParserBase.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoSkip string-oom tests on nacl.
yangguo@chromium.org [Fri, 21 Mar 2014 10:34:07 +0000 (10:34 +0000)]
Skip string-oom tests on nacl.

R=machenbach@chromium.org
TBR=machenbach@chromium.org

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

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

10 years agoMark test-assembler-arm64/fmadd_fmsub_float_nans on arm64 as flaky
jochen@chromium.org [Fri, 21 Mar 2014 10:02:57 +0000 (10:02 +0000)]
Mark test-assembler-arm64/fmadd_fmsub_float_nans on arm64 as flaky

BUG=v8:3226
LOG=n
R=ulan@chromium.org

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

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

10 years agoMove ParseLeftHandSideExpression to ParserBase.
marja@chromium.org [Fri, 21 Mar 2014 09:51:33 +0000 (09:51 +0000)]
Move ParseLeftHandSideExpression to ParserBase.

Includes cleanups:
- Reorganized functions in PreParserFactory to be in the logical order.
- De-hackified things PreParser doesn't need to track, such as IsCall & IsCallNew.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoMove ParsePostfixExpression into ParserBase.
marja@chromium.org [Fri, 21 Mar 2014 09:46:18 +0000 (09:46 +0000)]
Move ParsePostfixExpression into ParserBase.

+ enable a test which checks that Parser and PreParser produce the "invalid left
hand side" errors consistently.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoRename A64 port to ARM64 port
jochen@chromium.org [Fri, 21 Mar 2014 09:28:26 +0000 (09:28 +0000)]
Rename A64 port to ARM64 port

BUG=354405
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=y

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

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

10 years agoPrepare switch from a64 to arm64
jochen@chromium.org [Fri, 21 Mar 2014 08:47:03 +0000 (08:47 +0000)]
Prepare switch from a64 to arm64

BUG=354405
R=machenbach@chromium.org
LOG=n

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

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

10 years agoJSObject::NormalizeElements() handlified.
ishell@chromium.org [Fri, 21 Mar 2014 08:44:40 +0000 (08:44 +0000)]
JSObject::NormalizeElements() handlified.

R=verwaest@chromium.org

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

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

10 years agoJSArray::SetContent() handlified.
ishell@chromium.org [Fri, 21 Mar 2014 08:30:42 +0000 (08:30 +0000)]
JSArray::SetContent() handlified.

R=yangguo@chromium.org

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

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

10 years agoRemove unused color declarations in the a64 simulator
jochen@chromium.org [Fri, 21 Mar 2014 08:23:16 +0000 (08:23 +0000)]
Remove unused color declarations in the a64 simulator

They're now all defined globally

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

10 years agoArrayUnshift builtin handlified.
ishell@chromium.org [Fri, 21 Mar 2014 08:12:16 +0000 (08:12 +0000)]
ArrayUnshift builtin handlified.

R=yangguo@chromium.org

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

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

10 years agoRevert "Use constant length for memcpy on A64 simulator."
svenpanne@chromium.org [Fri, 21 Mar 2014 08:03:26 +0000 (08:03 +0000)]
Revert "Use constant length for memcpy on A64 simulator."

This reverts commit r20141 which broke the build with some GCC versions. The
reason behind that is GCC emits a warning about code which can never be reached,
but GCC can't figure that out.

The right approach would be using template specialization instead of these
runtime if/then/else cascades, which would be nicer from a SW engineering
perspective, too.

TBR=yangguo@chromium.org

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

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

10 years agoUse constant length for memcpy on A64 simulator.
svenpanne@chromium.org [Fri, 21 Mar 2014 07:08:08 +0000 (07:08 +0000)]
Use constant length for memcpy on A64 simulator.

Compiler can't optimize away variable length memcpy.
About a 18% boost.

Before - 5:40

Richards: 75.2
DeltaBlue: 105
Crypto: 64.0
RayTrace: 188
EarleyBoyer: 146
RegExp: 23.8
Splay: 96.2
NavierStokes: 91.9
----
Score (version 7): 85.7

After - 4:39

Richards: 90.8
DeltaBlue: 134
Crypto: 81.7
RayTrace: 227
EarleyBoyer: 177
RegExp: 29.7
Splay: 126
NavierStokes: 108
----
Score (version 7): 106

R=rodolph.perfetta@gmail.com, svenpanne@chromium.org

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

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

10 years agoIntroduce addp, idivp, imulp and subp for x64 port
haitao.feng@intel.com [Fri, 21 Mar 2014 02:42:10 +0000 (02:42 +0000)]
Introduce addp, idivp, imulp and subp for x64 port

R=verwaest@chromium.org

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

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

10 years agoMIPS: Fix register usage of r20076.
plind44@gmail.com [Thu, 20 Mar 2014 19:12:08 +0000 (19:12 +0000)]
MIPS: Fix register usage of r20076.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoFix missing access check in Runtime_SetPrototype.
mstarzinger@chromium.org [Thu, 20 Mar 2014 18:14:33 +0000 (18:14 +0000)]
Fix missing access check in Runtime_SetPrototype.

R=rossberg@chromium.org
BUG=chromium:354123
TEST=cctest/test-api/Regress354123
LOG=y

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

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

10 years agoFix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS
jkummerow@chromium.org [Thu, 20 Mar 2014 16:25:24 +0000 (16:25 +0000)]
Fix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS

BUG=chromium:354391
LOG=y
R=verwaest@chromium.org

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

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

10 years agoReland "Implement ES6 symbol registry and predefined symbols"
rossberg@chromium.org [Thu, 20 Mar 2014 16:13:09 +0000 (16:13 +0000)]
Reland "Implement ES6 symbol registry and predefined symbols"

Only change relative to original CL is the updated assertion condition at objects-inl.h:2119

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoMIPS: Implement flooring division by a constant via truncating division by a constant.
plind44@gmail.com [Thu, 20 Mar 2014 16:04:51 +0000 (16:04 +0000)]
MIPS: Implement flooring division by a constant via truncating division by a constant.

Port r20123 (31ab416)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoAllow to push arbitrary revisions when pushing to trunk.
machenbach@chromium.org [Thu, 20 Mar 2014 15:44:30 +0000 (15:44 +0000)]
Allow to push arbitrary revisions when pushing to trunk.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoA64: Restore the stack limit protection to 1KB.
alexandre.rames@arm.com [Thu, 20 Mar 2014 15:25:27 +0000 (15:25 +0000)]
A64: Restore the stack limit protection to 1KB.

R=ulan@chromium.org

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

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

10 years agoFix assertions wrt concurrent OSR.
yangguo@chromium.org [Thu, 20 Mar 2014 15:23:31 +0000 (15:23 +0000)]
Fix assertions wrt concurrent OSR.

R=ulan@chromium.org

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

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

10 years agoRemove outdated OOM tests.
yangguo@chromium.org [Thu, 20 Mar 2014 14:12:06 +0000 (14:12 +0000)]
Remove outdated OOM tests.

R=ishell@chromium.org

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

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

10 years agoCallers of JSArray::SetContent() handlified.
ishell@chromium.org [Thu, 20 Mar 2014 13:40:08 +0000 (13:40 +0000)]
Callers of JSArray::SetContent() handlified.

R=yangguo@chromium.org

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

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

10 years agoFix for performance issue 353661 - 23% regression in dromaeo.
mvstanton@chromium.org [Thu, 20 Mar 2014 13:38:08 +0000 (13:38 +0000)]
Fix for performance issue 353661 - 23% regression in dromaeo.

The issue was that a previous fix to avoid a logic error was not
targeted enough: it allowed non-transitioning stores to fall
into a code path meant to preserve monomorphic state in the
case of a transitioning store.

BUG=353661
LOG=N
R=verwaest@chromium.org

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

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

10 years agoIncrease the "local variables in a function" limit.
marja@chromium.org [Thu, 20 Mar 2014 13:37:26 +0000 (13:37 +0000)]
Increase the "local variables in a function" limit.

The limit was originally added to avoid having large user-controlled constants
(variable indexes) in the code generated by full-codegen.

History behind this change:

The original CL for adding the limit was https://codereview.chromium.org/7003030
and at that time, the limit was 32767.

Reason for adding the limit (in CL comments): "The motivation behind this change
is to avoid large user controlled constants in the code. The slot_operand used
in the IA32 full code generator uses a relative load where the local index is an
(negative) immediate."

The limit was then bumped to 65535 by https://codereview.chromium.org/10965063
and to 131071 by https://codereview.chromium.org/11099063.

R=dcarney@chromium.org, svenpanne@chromium.org, jkummerow@chromium.org, rossberg@chromium.org
BUG=v8:3205
LOG=Y

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

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

10 years agoMake PreParser track valid left hand sides.
marja@chromium.org [Thu, 20 Mar 2014 13:18:15 +0000 (13:18 +0000)]
Make PreParser track valid left hand sides.

Notes:
- This makes PreParser produce invalid_lhs_in_assignment and
invalid_lhs_in_prefix_op. Other errors will follow as the corresponding funcs
move to ParserBase.
- PreParserExpression::IsStrictFunction and StrictFunction() are not needed any
more -> removed them.

R=rossberg@chromium.org
BUG=

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

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

10 years agoArrayShift builtin handlified.
ishell@chromium.org [Thu, 20 Mar 2014 13:16:19 +0000 (13:16 +0000)]
ArrayShift builtin handlified.

R=yangguo@chromium.org

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

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

10 years agoImplement flooring division by a constant via truncating division by a constant.
svenpanne@chromium.org [Thu, 20 Mar 2014 13:10:23 +0000 (13:10 +0000)]
Implement flooring division by a constant via truncating division by a constant.

R=bmeurer@chromium.org

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

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

10 years agoArrayPush builtin handlified.
ishell@chromium.org [Thu, 20 Mar 2014 13:01:08 +0000 (13:01 +0000)]
ArrayPush builtin handlified.

R=yangguo@chromium.org

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

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

10 years agoRevert "Implement ES6 symbol registry and predefined symbols"
rossberg@chromium.org [Thu, 20 Mar 2014 12:56:41 +0000 (12:56 +0000)]
Revert "Implement ES6 symbol registry and predefined symbols"

TBR=yangguo@chromium.org
BUG=

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

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

10 years agoUse HBoundsCheck to check string length.
yangguo@chromium.org [Thu, 20 Mar 2014 12:34:44 +0000 (12:34 +0000)]
Use HBoundsCheck to check string length.

R=bmeurer@chromium.org

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

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

10 years agoReland "Throw exception on invalid string length instead of OOM."
yangguo@chromium.org [Thu, 20 Mar 2014 12:27:36 +0000 (12:27 +0000)]
Reland "Throw exception on invalid string length instead of OOM."

R=bmeurer@chromium.org

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

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

10 years agoImplement ES6 symbol registry and predefined symbols
rossberg@chromium.org [Thu, 20 Mar 2014 12:26:27 +0000 (12:26 +0000)]
Implement ES6 symbol registry and predefined symbols

R=mstarzinger@chromium.org, arv@chromium.org
BUG=
LOG=Y

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

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

10 years agoHandlify callers to GetElementNoException.
yangguo@chromium.org [Thu, 20 Mar 2014 12:22:13 +0000 (12:22 +0000)]
Handlify callers to GetElementNoException.

R=ishell@chromium.org

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

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

10 years agoA64: Minor cleaning in StoreStubCompiler::GenerateStoreField.
alexandre.rames@arm.com [Thu, 20 Mar 2014 11:35:05 +0000 (11:35 +0000)]
A64: Minor cleaning in StoreStubCompiler::GenerateStoreField.

Abstract a register to simplify code generation.

R=ulan@chromium.org

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

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

10 years agoRevert "Throw exception on invalid string length instead of OOM."
yangguo@chromium.org [Thu, 20 Mar 2014 11:11:28 +0000 (11:11 +0000)]
Revert "Throw exception on invalid string length instead of OOM."

This reverts r20112.

TBR=yangguo@chromium.org

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

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

10 years agoElementsAccessor::Delete() handlified.
ishell@chromium.org [Thu, 20 Mar 2014 10:52:22 +0000 (10:52 +0000)]
ElementsAccessor::Delete() handlified.

R=yangguo@chromium.org

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

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

10 years agoThrow exception on invalid string length instead of OOM.
yangguo@chromium.org [Thu, 20 Mar 2014 10:49:33 +0000 (10:49 +0000)]
Throw exception on invalid string length instead of OOM.

R=bmeurer@chromium.org
BUG=349329
LOG=Y

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

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

10 years agoA64: Remove Operand constructors where an implicit constructor can be used.
alexandre.rames@arm.com [Thu, 20 Mar 2014 10:37:19 +0000 (10:37 +0000)]
A64: Remove Operand constructors where an implicit constructor can be used.

R=jochen@chromium.org

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

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

10 years agoA64: Improve the deoptimization exit code for LMathRound.
alexandre.rames@arm.com [Thu, 20 Mar 2014 10:12:49 +0000 (10:12 +0000)]
A64: Improve the deoptimization exit code for LMathRound.

R=ulan@chromium.org

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

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

10 years agoA64: In the Simulator, corrupt caller-saved registers after runtime printf call.
alexandre.rames@arm.com [Thu, 20 Mar 2014 10:03:17 +0000 (10:03 +0000)]
A64: In the Simulator, corrupt caller-saved registers after runtime printf call.

R=ulan@chromium.org

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

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

10 years agoA64: Abstract simulation of runtime calls in a separate function.
alexandre.rames@arm.com [Thu, 20 Mar 2014 09:51:19 +0000 (09:51 +0000)]
A64: Abstract simulation of runtime calls in a separate function.

R=ulan@chromium.org

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

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

10 years agoA64: Abstract colour definitions for the Simulator tracing.
alexandre.rames@arm.com [Thu, 20 Mar 2014 09:45:17 +0000 (09:45 +0000)]
A64: Abstract colour definitions for the Simulator tracing.

R=ulan@chromium.org

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

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

10 years agoRemove unnecessary 'explicit' attribute.
yangguo@chromium.org [Thu, 20 Mar 2014 09:29:48 +0000 (09:29 +0000)]
Remove unnecessary 'explicit' attribute.

R=marja@chromium.org

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

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

10 years agoDeprecate prepare push commit when pushing to trunk.
machenbach@chromium.org [Thu, 20 Mar 2014 09:23:44 +0000 (09:23 +0000)]
Deprecate prepare push commit when pushing to trunk.

- This also deprecates using version.cc on bleeding edge.
- The deprecated push-to-trunk.sh is deleted.
- The script now commits bleeding edge HEAD by default. Committing different revisions will be added in a follow up CL.

R=jkummerow@chromium.org

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

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

10 years agoA64: clean up pending reloc info if code generation was aborted.
ulan@chromium.org [Thu, 20 Mar 2014 09:10:15 +0000 (09:10 +0000)]
A64: clean up pending reloc info if code generation was aborted.

This fixes assertion failure in destructor of Assembler.

BUG=352659
LOG=N
R=jochen@chromium.org

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

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

10 years agoMake max size and max length of strings consistent.
yangguo@chromium.org [Thu, 20 Mar 2014 08:33:06 +0000 (08:33 +0000)]
Make max size and max length of strings consistent.

R=bmeurer@chromium.org

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

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

10 years agoA64: Fix write barrier input in KeyedStoreIC::GenerateSloppyArguments.
ulan@chromium.org [Thu, 20 Mar 2014 08:32:58 +0000 (08:32 +0000)]
A64: Fix write barrier input in KeyedStoreIC::GenerateSloppyArguments.

This fixes flaky crashes in gc-stress bot:
> Fatal error in ../src/incremental-marking.cc, line 84
> CHECK(obj->IsHeapObject()) failed

BUG=353551
LOG=N
TEST=test/mjsunit/regress/regress-353551.js
R=m.m.capewell@googlemail.com

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

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

10 years agoRevert "Enable Concurrent OSR" due to A64 failures.
yangguo@chromium.org [Thu, 20 Mar 2014 08:19:25 +0000 (08:19 +0000)]
Revert "Enable Concurrent OSR" due to A64 failures.

This reverts r20096.

TBR=jkummerow@chromium.org

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

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

10 years agoEnable concurrent OSR.
yangguo@chromium.org [Thu, 20 Mar 2014 08:04:28 +0000 (08:04 +0000)]
Enable concurrent OSR.

R=jkummerow@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.21.
machenbach@chromium.org [Thu, 20 Mar 2014 01:04:38 +0000 (01:04 +0000)]
Prepare push to trunk.  Now working on version 3.25.21.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

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

10 years agoCleanup following MicrotaskQueue abstraction
rafaelw@chromium.org [Wed, 19 Mar 2014 21:48:30 +0000 (21:48 +0000)]
Cleanup following MicrotaskQueue abstraction

https://code.google.com/p/v8/source/detail?r=19344 failed to remove the promiseEvents InternalArray.

R=rossberg@chromium.org, rossberg
LOG=N

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

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

10 years agoMIPS: Pretenure call new support.
plind44@gmail.com [Wed, 19 Mar 2014 20:00:29 +0000 (20:00 +0000)]
MIPS: Pretenure call new support.

Port r20076 (b7b1372)

Original commit message:
When FLAG_pretenure_call_new is on, we emit mementos on new object creation
in full code, and consume the feedback in crankshaft. A key difference in the
generated code for stubs is the allocation of an additional type vector slot for the
CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
considerably.

Some performance tuning still needs to be addressed, therefore the flag is off at
this moment, though fully functional. The goal is to remove the flag as soon as
possible, which allows much code deletion (yay).

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoElementsAccessor::SetLength() handlified.
ishell@chromium.org [Wed, 19 Mar 2014 16:29:19 +0000 (16:29 +0000)]
ElementsAccessor::SetLength() handlified.

R=yangguo@chromium.org

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

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

10 years agoARM: clean-up some stub call sequences.
rodolph.perfetta@arm.com [Wed, 19 Mar 2014 16:27:09 +0000 (16:27 +0000)]
ARM: clean-up some stub call sequences.

BUG=
R=ulan@chromium.org

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

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

10 years agoAdd FLAG_trace_bce
jkummerow@chromium.org [Wed, 19 Mar 2014 16:03:56 +0000 (16:03 +0000)]
Add FLAG_trace_bce

R=ulan@chromium.org

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

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

10 years agoFix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS
jkummerow@chromium.org [Wed, 19 Mar 2014 15:49:29 +0000 (15:49 +0000)]
Fix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS

BUG=chromium:350867
LOG=y
R=verwaest@chromium.org

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

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

10 years agoMIPS: Array constructor expects AllocationSite or undefined as feedback.
plind44@gmail.com [Wed, 19 Mar 2014 15:46:24 +0000 (15:46 +0000)]
MIPS: Array constructor expects AllocationSite or undefined as feedback.

Port r20064 (d2ccdc6)

Original commit message:
Redefine Array constructor to expect an AllocationSite in the feedback
register or undefined. This will make code simpler as we support
pretenuring feedback for all constructed objects.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoRemoved obsolete and dead includes.
ulan@chromium.org [Wed, 19 Mar 2014 15:40:38 +0000 (15:40 +0000)]
Removed obsolete and dead includes.

BUG=353954
LOG=N
R=ulan@chromium.org

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

Patch from Dmitry Zvorygin <zvorygin@chromium.org>.

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

10 years agoProvide default traits for PersistentValueMap
dcarney@chromium.org [Wed, 19 Mar 2014 15:35:02 +0000 (15:35 +0000)]
Provide default traits for PersistentValueMap

Re-try of issue 201643003. This caused linker errors on Win64, since the
linker insists on seeing the StrongMapTrait method implementations even
though they are never used. This will provide default implementations
for them.

R=dcarney@chromium.org

BUG=

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

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

10 years agoMIPS: Reland "Add out-of-line constant pool support to Arm."
plind44@gmail.com [Wed, 19 Mar 2014 15:34:17 +0000 (15:34 +0000)]
MIPS: Reland "Add out-of-line constant pool support to Arm."

Port r20053 (df27abf)

Original commit message:
This CL adds out-of-line constant pool support to Arm. A ConstantPoolBuilder
object is introduced to manage building of the ConstantPoolArray for a given
code object.

This CL depends on the following CLs landing first:
https://codereview.chromium.org/138503002/
https://codereview.chromium.org/179813005/
https://codereview.chromium.org/183553003/
https://codereview.chromium.org/183803022/
https://codereview.chromium.org/183883011/
https://codereview.chromium.org/186733006/
https://codereview.chromium.org/188063002/
https://codereview.chromium.org/190793002/
https://codereview.chromium.org/190823002/
https://codereview.chromium.org/190833002/
https://codereview.chromium.org/190883002/

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: Tweaked FlooringDiv back to TruncatingDiv again.
plind44@gmail.com [Wed, 19 Mar 2014 15:27:38 +0000 (15:27 +0000)]
MIPS: Tweaked FlooringDiv back to TruncatingDiv again.

Port r20048 (8953785)

Original commit message:
This is a first step towards getting the flooring division by a
constant working again (which will be a separate CL).

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoArrayPop builtin handlified.
ishell@chromium.org [Wed, 19 Mar 2014 15:25:04 +0000 (15:25 +0000)]
ArrayPop builtin handlified.

R=yangguo@chromium.org

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

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

10 years agoHandlification of JSArray::SetElementsLength().
ishell@chromium.org [Wed, 19 Mar 2014 14:09:50 +0000 (14:09 +0000)]
Handlification of JSArray::SetElementsLength().

R=verwaest@chromium.org, yangguo@chromium.org

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

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

10 years agoMove ParseUnaryExpression into ParserBase and add tests.
marja@chromium.org [Wed, 19 Mar 2014 14:08:47 +0000 (14:08 +0000)]
Move ParseUnaryExpression into ParserBase and add tests.

This also makes PreParser produce the strict_delete error the same way as
Parser (see test).

R=rossberg@chromium.org
BUG=

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

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

10 years agoRevert "Move ParseUnaryExpression into ParserBase and add tests."
marja@chromium.org [Wed, 19 Mar 2014 13:58:15 +0000 (13:58 +0000)]
Revert "Move ParseUnaryExpression into ParserBase and add tests."

This reverts revision 20077.

Reason: build fail on some compilers.

BUG=
TBR=marja@chromium.org,rossberg@chromium.org

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

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

10 years agoMove ParseUnaryExpression into ParserBase and add tests.
marja@chromium.org [Wed, 19 Mar 2014 13:42:41 +0000 (13:42 +0000)]
Move ParseUnaryExpression into ParserBase and add tests.

This also makes PreParser produce the strict_delete error the same way as
Parser (see test).

R=rossberg@chromium.org
BUG=

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

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

10 years agoPretenure call new support.
mvstanton@chromium.org [Wed, 19 Mar 2014 13:39:09 +0000 (13:39 +0000)]
Pretenure call new support.

When FLAG_pretenure_call_new is on, we emit mementos on new object creation
in full code, and consume the feedback in crankshaft. A key difference in the
generated code for stubs is the allocation of an additional type vector slot for the
CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
considerably.

Some performance tuning still needs to be addressed, therefore the flag is off at
this moment, though fully functional. The goal is to remove the flag as soon as
possible, which allows much code deletion (yay).

R=hpayer@chromium.org

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

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

10 years agoNew compilation API, part 2.
marja@chromium.org [Wed, 19 Mar 2014 13:24:13 +0000 (13:24 +0000)]
New compilation API, part 2.

This CL makes the Parser produce the data PreParser used to produce. This
enables us to get rid of the unnecessary preparsing phase.

The first part is here: https://codereview.chromium.org/199063003/

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.20.
machenbach@chromium.org [Wed, 19 Mar 2014 13:13:23 +0000 (13:13 +0000)]
Prepare push to trunk.  Now working on version 3.25.20.

R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

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

10 years agoRetrieve current version from trunk branch in push-to-trunk.
machenbach@chromium.org [Wed, 19 Mar 2014 13:10:41 +0000 (13:10 +0000)]
Retrieve current version from trunk branch in push-to-trunk.

- This moves retrieving and incrementing the version before creating the change log
- Before the prepare push commit will be deprecated (follow up CL), the script deals with 3 build levels. X: the current build level on the last trunk push. X + 1: the build level for this trunk push. X + 2: the build level of the new version file on bleeding edge (to be deprecated).

BUG=
R=jkummerow@chromium.org

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

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

10 years agoIntroduce API to trigger exception on JS execution.
yangguo@chromium.org [Wed, 19 Mar 2014 13:06:53 +0000 (13:06 +0000)]
Introduce API to trigger exception on JS execution.

R=jochen@chromium.org, pmarch@chromium.org

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

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

10 years agoTemporarily disable evacuation verification for parallel-concurrently swept pages.
hpayer@chromium.org [Wed, 19 Mar 2014 11:56:11 +0000 (11:56 +0000)]
Temporarily disable evacuation verification for parallel-concurrently swept pages.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoArray constructor expects AllocationSite or undefined as feedback.
mvstanton@chromium.org [Wed, 19 Mar 2014 11:51:30 +0000 (11:51 +0000)]
Array constructor expects AllocationSite or undefined as feedback.

Redefine Array constructor to expect an AllocationSite in the feedback
register or undefined. This will make code simpler as we support
pretenuring feedback for all constructed objects.

R=hpayer@chromium.org

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

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

10 years agoAccount for right object size when left trimming arrays.
hpayer@chromium.org [Wed, 19 Mar 2014 11:37:56 +0000 (11:37 +0000)]
Account for right object size when left trimming arrays.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoIntroduce per-isolate assert scopes and API to guard JS execution.
yangguo@chromium.org [Wed, 19 Mar 2014 11:31:43 +0000 (11:31 +0000)]
Introduce per-isolate assert scopes and API to guard JS execution.

R=jochen@chromium.org

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

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

10 years agoAccess old space marking bits from runtime only when incremental marking is in MARKIN...
hpayer@chromium.org [Wed, 19 Mar 2014 10:48:54 +0000 (10:48 +0000)]
Access old space marking bits from runtime only when incremental marking is in MARKING state.

BUG=
R=mstarzinger@chromium.org

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

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