platform/upstream/v8.git
10 years agoPort of r19288 to a64: Fix for smi stores optimization.
ishell@chromium.org [Wed, 12 Feb 2014 13:54:55 +0000 (13:54 +0000)]
Port of r19288 to a64: Fix for smi stores optimization.

R=ulan@chromium.org

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

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

10 years agoAvoid doing explicit cast in simulator-a64::get_sp().
rmcilroy@chromium.org [Wed, 12 Feb 2014 13:34:40 +0000 (13:34 +0000)]
Avoid doing explicit cast in simulator-a64::get_sp().

R=rodolph.perfetta@arm.com

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

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

10 years agoAdd to OWNERS for arm and a64
rmcilroy@chromium.org [Wed, 12 Feb 2014 13:33:54 +0000 (13:33 +0000)]
Add to OWNERS for arm and a64

R=danno@chromium.org

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

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

10 years agoFix for (One|Two)ByteSeqStringSetChar evaluation order/deopt.
jarin@chromium.org [Wed, 12 Feb 2014 13:31:24 +0000 (13:31 +0000)]
Fix for (One|Two)ByteSeqStringSetChar evaluation order/deopt.

This makes the evaluation order consistent between full codegen
and Hydrogen (so that deopt does not screw up stack).

R=jkummerow@chromium.org
BUG=

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

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

10 years agoClean up some A64 specific code in common code that was introduced by A64 merge
rmcilroy@chromium.org [Wed, 12 Feb 2014 13:27:13 +0000 (13:27 +0000)]
Clean up some A64 specific code in common code that was introduced by A64 merge

 - Remove arch specific check macros
 - Remove duplicate code in code-stubs.h
 - Remove flag check in bootstrap.cc which was introduced for A64 bringup
 - Remove A64 specific test message expectations

R=rodolph.perfetta@arm.com, ulan@chromium.org

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

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

10 years ago[a64] Omit redundant smi checks in write barriers.
bmeurer@chromium.org [Wed, 12 Feb 2014 12:44:01 +0000 (12:44 +0000)]
[a64] Omit redundant smi checks in write barriers.

R=rmcilroy@chromium.org

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

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

10 years agoOmit redundant smi checks in write barriers.
bmeurer@chromium.org [Wed, 12 Feb 2014 12:36:53 +0000 (12:36 +0000)]
Omit redundant smi checks in write barriers.

R=hpayer@chromium.org

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

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

10 years agoImprove computation of effects for load elimination.
bmeurer@chromium.org [Wed, 12 Feb 2014 12:34:14 +0000 (12:34 +0000)]
Improve computation of effects for load elimination.

R=ishell@chromium.org

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

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

10 years agoA64: Skip tests failing on gc stress bots
jochen@chromium.org [Wed, 12 Feb 2014 12:18:36 +0000 (12:18 +0000)]
A64: Skip tests failing on gc stress bots

BUG=none
TBR=ulan@chromium.org
LOG=n

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

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

10 years agoImproved variable-related assembler comments in fullcode.
svenpanne@chromium.org [Wed, 12 Feb 2014 12:06:11 +0000 (12:06 +0000)]
Improved variable-related assembler comments in fullcode.

R=bmeurer@chromium.org

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

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

10 years agoRefactor scope and function state tracking in (Pre)Parser.
marja@chromium.org [Wed, 12 Feb 2014 12:02:07 +0000 (12:02 +0000)]
Refactor scope and function state tracking in (Pre)Parser.

Notes:
- PreParser::Scope was a weird combination of Parser::FunctionState and
  Scope. Split it into two (PreParser::FunctionState and PreParser::Scope). This
  is necessary for unifying the Parser and the PreParser.
- Scopes take care of language mode and tracking "with".
- FunctionStates take care of counting material literal indexes, properties
  etc. and tracking generators.
- PreParser::Scope::InsideWith was a hack to make a FunctionState-like object
  take care of tracking "with". It's now the responsibility fo PreParser::Scope
  and Scope.
- PreParser::ScopeType is unnecessarly, there is already a ScopeType enum in
v8globals.h.
- Renamed scope stack variables so that they're consistent in Parser and PreParser.
- Parser::FunctionState and Parser::BlockState had an unnecessary dependency to
  the Parser; they only need a couple of things from Parser. Broke the
  dependency.

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

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

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

10 years agoA64: Skip more known failures
jochen@chromium.org [Wed, 12 Feb 2014 11:57:50 +0000 (11:57 +0000)]
A64: Skip more known failures

TBR=ulan@chromium.org
BUG=none
LOG=n

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

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

10 years agoMove parenthesized_function_ to ParserBase.
marja@chromium.org [Wed, 12 Feb 2014 11:56:07 +0000 (11:56 +0000)]
Move parenthesized_function_ to ParserBase.

This change is trivial (was probably overlooked when ParserBase was created).

R=yangguo@chromium.org
BUG=v8:3126
LOG=N

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

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

10 years agoA64: Remove two TODOs that will not be done.
alexandre.rames@arm.com [Wed, 12 Feb 2014 11:55:52 +0000 (11:55 +0000)]
A64: Remove two TODOs that will not be done.

- For the LDP/STP TODO: The arguments need dereferencing, so using LDP/STP would
  require some additional checks.
- For the constant pools TODO: Unless we need to, there is no benefit from
  trying to generate constant pools more often, as it would likely only pollute
  the I-cache.

R=ulan@chromium.org

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

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

10 years agoAdd ARM contributors to AUTHORS.
jacob.bramley@arm.com [Wed, 12 Feb 2014 11:54:34 +0000 (11:54 +0000)]
Add ARM contributors to AUTHORS.

BUG=
R=ulan@chromium.org

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

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

10 years agoA64: Skip cctests failing in debug mode
jochen@chromium.org [Wed, 12 Feb 2014 10:29:18 +0000 (10:29 +0000)]
A64: Skip cctests failing in debug mode

TBR=ulan@chromium.org
BUG=none
LOG=n

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

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

10 years agoMerge experimental/a64 to bleeding_edge.
ulan@chromium.org [Wed, 12 Feb 2014 09:19:30 +0000 (09:19 +0000)]
Merge experimental/a64 to bleeding_edge.

BUG=v8:3113
LOG=Y
R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

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

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

10 years agoDisable test-api/PreCompileInvalidPreparseDataError for NaCl.
marja@chromium.org [Wed, 12 Feb 2014 08:20:07 +0000 (08:20 +0000)]
Disable test-api/PreCompileInvalidPreparseDataError for NaCl.

More information: https://code.google.com/p/v8/issues/detail?id=3150

R=machenbach@chromium.org

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

10 years agoPrepare push to trunk. Now working on version 3.24.38.
machenbach@chromium.org [Wed, 12 Feb 2014 08:12:48 +0000 (08:12 +0000)]
Prepare push to trunk.  Now working on version 3.24.38.

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

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

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

10 years agoMore check elimination improvements including partial learning on false branches...
ishell@chromium.org [Tue, 11 Feb 2014 19:18:06 +0000 (19:18 +0000)]
More check elimination improvements including partial learning on false branches of CompareMap and better handling of unreachable blocks.

R=verwaest@chromium.org

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

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

10 years agoMark faster when executing write barriers.
hpayer@chromium.org [Tue, 11 Feb 2014 16:22:26 +0000 (16:22 +0000)]
Mark faster when executing write barriers.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix environment of the optimized version of the _SetValueOf intrinsic.
jarin@chromium.org [Tue, 11 Feb 2014 16:11:53 +0000 (16:11 +0000)]
Fix environment of the optimized version of the _SetValueOf intrinsic.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoFix for a smi stores optimization on x64 with a test case.
ishell@chromium.org [Tue, 11 Feb 2014 16:02:18 +0000 (16:02 +0000)]
Fix for a smi stores optimization on x64 with a test case.

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

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

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

10 years agoRemove extended_extra_ic_state and extend extra_ic_state instead.
verwaest@chromium.org [Tue, 11 Feb 2014 15:01:44 +0000 (15:01 +0000)]
Remove extended_extra_ic_state and extend extra_ic_state instead.

BUG=
R=ishell@chromium.org

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

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

10 years agoClean up accessors in the Isolate.
yangguo@chromium.org [Tue, 11 Feb 2014 14:03:31 +0000 (14:03 +0000)]
Clean up accessors in the Isolate.

R=jarin@chromium.org

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

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

10 years agoAdd more test cases for api function inlining
dcarney@chromium.org [Tue, 11 Feb 2014 12:49:15 +0000 (12:49 +0000)]
Add more test cases for api function inlining

R=verwaest@chromium.org

BUG=

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

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

10 years agoCleanup: ContextualMode doesn't need to be passed to ICs.
mvstanton@chromium.org [Tue, 11 Feb 2014 12:41:58 +0000 (12:41 +0000)]
Cleanup: ContextualMode doesn't need to be passed to ICs.

R=verwaest@chromium.org

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

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

10 years agoMove ParseRegexpLiteral to ParserBase.
marja@chromium.org [Tue, 11 Feb 2014 11:51:01 +0000 (11:51 +0000)]
Move ParseRegexpLiteral to ParserBase.

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

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

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

10 years agoHarmony: fix spec violation in Math.cosh.
yangguo@chromium.org [Tue, 11 Feb 2014 11:48:32 +0000 (11:48 +0000)]
Harmony: fix spec violation in Math.cosh.

R=jarin@chromium.org
BUG=v8:3141
LOG=N

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

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

10 years agoDisable concurrent osr for test-mark-compact/BootUpMemoryUse.
yangguo@chromium.org [Tue, 11 Feb 2014 11:47:38 +0000 (11:47 +0000)]
Disable concurrent osr for test-mark-compact/BootUpMemoryUse.

If --concurrent-osr is on, it will imply --concurrent-recompilation, even
though it's expected to be disabled.

R=machenbach@chromium.org

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

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

10 years agoMove allocation site pretenuring decision making to GC epilog.
hpayer@chromium.org [Tue, 11 Feb 2014 11:27:22 +0000 (11:27 +0000)]
Move allocation site pretenuring decision making to GC epilog.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoMake sure that allocation site scratchpad entries get recorded.
hpayer@chromium.org [Tue, 11 Feb 2014 10:52:30 +0000 (10:52 +0000)]
Make sure that allocation site scratchpad entries get recorded.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoGet rid of the function sorting in for polymorphic calls.
bmeurer@chromium.org [Tue, 11 Feb 2014 10:48:37 +0000 (10:48 +0000)]
Get rid of the function sorting in for polymorphic calls.

The idea of this code was to sort functions according to
ticks spend executing them, but now these ticks are always
zero and therefore we fall back to sorting by AST length (or
even worse by source length) all the time, which is a bad,
arbitrary measure.

R=verwaest@chromium.org

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

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

10 years agoFix spec violations in JSON.stringify wrt replacer array.
yangguo@chromium.org [Tue, 11 Feb 2014 10:45:39 +0000 (10:45 +0000)]
Fix spec violations in JSON.stringify wrt replacer array.

R=verwaest@chromium.org
BUG=v8:3135
LOG=Y

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

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

10 years agoTraitify ParserBase and move functions there.
marja@chromium.org [Tue, 11 Feb 2014 09:35:32 +0000 (09:35 +0000)]
Traitify ParserBase and move functions there.

(Second try, with fixes. First try: https://codereview.chromium.org/149913006/ )

The long-term goal is to move all recursive descent functions from Parser and
PreParser into ParserBase, but first they need to be unified.

Notes:
- The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
- IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
and adds ParserBase::ParseIdentifier, etc.
- Error reporting used to require virtual funcs; now error reporting is moved to
the Traits too, and ParserBase no longer needs to be virtual.
- I had to move PreParser::Identifier out of the PreParser class, because
otherwise PreParserTraits cannot use it in a typedef.

BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org

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

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

10 years agoRemove obsolete stack trace string in a message object.
yangguo@chromium.org [Tue, 11 Feb 2014 09:29:51 +0000 (09:29 +0000)]
Remove obsolete stack trace string in a message object.

The stack trace string is an ancient relic that is no longer being used.
We use the structured stack trace object instead.

R=bmeurer@chromium.org

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

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

10 years agoMIPS: Add kExpectedFixedArrayInRegisterA2 message.
palfia@homejinni.com [Tue, 11 Feb 2014 09:27:01 +0000 (09:27 +0000)]
MIPS: Add kExpectedFixedArrayInRegisterA2 message.

Port r19244 (08e0afd9)

BUG=
R=mvstanton@chromium.org, plind44@gmail.com

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

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

10 years agoFix gcstress test failure
mvstanton@chromium.org [Tue, 11 Feb 2014 09:06:13 +0000 (09:06 +0000)]
Fix gcstress test failure

Map collection complicates a test that wants to assert on code opt/deopt
because of prototype-chain changes. It can happen that a gc occurs
in the stack guard at the start of optimized function foo that deopts
function foo because of a map being collected and deoptimizing it's
dependent code.

R=bmeurer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.37.
machenbach@chromium.org [Tue, 11 Feb 2014 08:13:29 +0000 (08:13 +0000)]
Prepare push to trunk.  Now working on version 3.24.37.

R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

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

10 years agoRemove unneccessary assert.
bmeurer@chromium.org [Tue, 11 Feb 2014 07:44:25 +0000 (07:44 +0000)]
Remove unneccessary assert.

This assert fails when dumping native counters on x64.

R=bmeurer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

10 years agoRemove unused --stack-trace-on-abort flag.
yangguo@chromium.org [Tue, 11 Feb 2014 07:29:23 +0000 (07:29 +0000)]
Remove unused --stack-trace-on-abort flag.

R=dcarney@chromium.org

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

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

10 years agoAdd flag to print stack trace on illegal exception.
yangguo@chromium.org [Tue, 11 Feb 2014 07:28:05 +0000 (07:28 +0000)]
Add flag to print stack trace on illegal exception.

This would help a lot with native Javascript code.

R=mvstanton@chromium.org

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

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

10 years agoFix Windows build.
bmeurer@chromium.org [Tue, 11 Feb 2014 07:05:47 +0000 (07:05 +0000)]
Fix Windows build.

R=svenpanne@chromium.org

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

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

10 years agoImprove inobject field tracking during GVN.
bmeurer@chromium.org [Tue, 11 Feb 2014 06:53:14 +0000 (06:53 +0000)]
Improve inobject field tracking during GVN.

Now stores to inobject fields do no longer prevent hoisting
and combining of loads from other inobject fields.

R=mstarzinger@chromium.org

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

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

10 years agoRevert "Improve inobject field tracking during GVN."
bmeurer@chromium.org [Tue, 11 Feb 2014 06:46:14 +0000 (06:46 +0000)]
Revert "Improve inobject field tracking during GVN."

This reverts commit r19427 for breaking the build. Will reland with
fix.

TBR=mstarzinger@chromium.org

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

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

10 years agoImprove inobject field tracking during GVN.
bmeurer@chromium.org [Tue, 11 Feb 2014 06:41:06 +0000 (06:41 +0000)]
Improve inobject field tracking during GVN.

Now stores to inobject fields do no longer prevent hoisting
and combining of loads from other inobject fields.

R=mstarzinger@chromium.org

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

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

10 years agoMIPS: Adding a type vector to replace type cells.
palfia@homejinni.com [Tue, 11 Feb 2014 02:48:57 +0000 (02:48 +0000)]
MIPS: Adding a type vector to replace type cells.

Port r19244 (08e0afd9)

BUG=
R=plind44@gmail.com

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

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

10 years agoIntroduce Jump and Call operand macro assembler instructions for x64
haitao.feng@intel.com [Tue, 11 Feb 2014 01:28:08 +0000 (01:28 +0000)]
Introduce Jump and Call operand macro assembler instructions for x64

R=verwaest@chromium.org

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

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

10 years agoAdding a type vector to replace type cells.
mvstanton@chromium.org [Mon, 10 Feb 2014 21:38:17 +0000 (21:38 +0000)]
Adding a type vector to replace type cells.

R=bmeurer@chromium.org

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

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

10 years agoMIPS: Add NaN test to cctest/test-macro-assembler-mips.
plind44@gmail.com [Mon, 10 Feb 2014 19:46:34 +0000 (19:46 +0000)]
MIPS: Add NaN test to cctest/test-macro-assembler-mips.

NaN value is different on MIPS and x86 architectures, and TEST(NaNx)
tests checks the case where a x86 NaN value is serialized into the snapshot
on the simulator during cross compilation.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoRevert "Traitify ParserBase and move functions there."
marja@chromium.org [Mon, 10 Feb 2014 16:21:11 +0000 (16:21 +0000)]
Revert "Traitify ParserBase and move functions there."

This reverts commit r19230.

Reason: Build failures on NaCl.

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

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

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

10 years agoMIPS: Fix r19175 "Avoid embedding x86 NaN constant in MacroAssembler code when snapsh...
plind44@gmail.com [Mon, 10 Feb 2014 15:49:28 +0000 (15:49 +0000)]
MIPS: Fix r19175 "Avoid embedding x86 NaN constant in MacroAssembler code when snapshot is created."

BUG=
R=plind44@gmail.com

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

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

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

10 years agoTraitify ParserBase and move functions there.
marja@chromium.org [Mon, 10 Feb 2014 15:35:39 +0000 (15:35 +0000)]
Traitify ParserBase and move functions there.

The long-term goal is to move all recursive descent functions from Parser and
PreParser into ParserBase, but first they need to be unified.

Notes:
- The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
- IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
  and adds ParserBase::ParseIdentifier, etc.
- Error reporting used to require virtual funcs; now error reporting is moved to
  the Traits too, and ParserBase no longer needs to be virtual.
- I had to move PreParser::Identifier out of the PreParser class, because
otherwise PreParserTraits cannot use it in a typedef.

BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org

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

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

10 years agoReland of r19102: Check elimination improvement: propagation of state through phis...
ishell@chromium.org [Mon, 10 Feb 2014 15:32:54 +0000 (15:32 +0000)]
Reland of r19102: Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing implemented with tests.

R=verwaest@chromium.org

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

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

10 years agoMerge BuildLoadKeyedGeneric and BuildStoreKeyedGeneric, switch on AccessType
verwaest@chromium.org [Mon, 10 Feb 2014 14:58:25 +0000 (14:58 +0000)]
Merge BuildLoadKeyedGeneric and BuildStoreKeyedGeneric, switch on AccessType

R=ishell@chromium.org

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

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

10 years agoFix NoTrackDoubleFieldsForSerializerScope.
ulan@chromium.org [Mon, 10 Feb 2014 13:56:59 +0000 (13:56 +0000)]
Fix NoTrackDoubleFieldsForSerializerScope.

BUG=v8:3143
LOG=N
R=verwaest@chromium.org

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

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

10 years agoEnable specification of author email in push-to-trunk.
machenbach@chromium.org [Mon, 10 Feb 2014 12:48:36 +0000 (12:48 +0000)]
Enable specification of author email in push-to-trunk.

If not specified, depot tools tend to ask for an email on the command line once in a while, which makes the automated script hang.

BUG=
R=ulan@chromium.org

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

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

10 years agoFix inconsistencies wrt whitespaces.
yangguo@chromium.org [Mon, 10 Feb 2014 12:43:10 +0000 (12:43 +0000)]
Fix inconsistencies wrt whitespaces.

This relands r19196 with fixes.

BUG=v8:3109
LOG=Y
R=mstarzinger@chromium.org

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

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

10 years agoUse PropertyAccessType for keyed accesses rather than "bool is_store"
verwaest@chromium.org [Mon, 10 Feb 2014 11:43:34 +0000 (11:43 +0000)]
Use PropertyAccessType for keyed accesses rather than "bool is_store"

BUG=
R=ishell@chromium.org

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

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

10 years agoRemove duplicate third-party test cases.
mstarzinger@chromium.org [Mon, 10 Feb 2014 11:29:59 +0000 (11:29 +0000)]
Remove duplicate third-party test cases.

Some of the third-party test cases in the mjsunit test suite were
originally taken from WebKit and are now fully covered by the equally
named test suite.

Mapping of test cases:
 - array-isarray.js -> test/webkit/Array-isArray.js
 - array-splice-webkit.js -> test/webkit/array-splice.js

R=machenbach@chromium.org
BUG=

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

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

10 years agoUnify BuildLoad/StoreNamedGeneric
verwaest@chromium.org [Mon, 10 Feb 2014 10:23:59 +0000 (10:23 +0000)]
Unify BuildLoad/StoreNamedGeneric

R=dcarney@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.36.
machenbach@chromium.org [Mon, 10 Feb 2014 09:01:10 +0000 (09:01 +0000)]
Prepare push to trunk.  Now working on version 3.24.36.

R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

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

10 years agoDrop unused accumulated first time changes/depends.
bmeurer@chromium.org [Mon, 10 Feb 2014 08:59:51 +0000 (08:59 +0000)]
Drop unused accumulated first time changes/depends.

R=svenpanne@chromium.org

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

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

10 years agoUnify (Pre)Parser::ParseTryStatement.
marja@chromium.org [Mon, 10 Feb 2014 08:45:13 +0000 (08:45 +0000)]
Unify (Pre)Parser::ParseTryStatement.

Notes:
- This makes Parser and PreParser produce the same errors with the added test
cases (this was not the case before).
- ParseBlock already does Expect(Token::LBRACE), so no need to check it twice.

BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org

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

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

10 years agoRevert "Introduce MoveDouble to the X64 MacroAssembler" (r17383)
haitao.feng@intel.com [Sat, 8 Feb 2014 02:16:25 +0000 (02:16 +0000)]
Revert "Introduce MoveDouble to the X64 MacroAssembler" (r17383)

The direction is to use "movl, movq, movp" instead of introducing new
Macro assembler instructions.

R=verwaest@chromium.org

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

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

10 years agoRevert "Make Function.length and Function.name configurable properties."
rossberg@chromium.org [Fri, 7 Feb 2014 15:29:18 +0000 (15:29 +0000)]
Revert "Make Function.length and Function.name configurable properties."

Plenty of test failures on test262, Mozilla, Webkit. Will have to investigate.

TBR=mstarzinger@chromium.org
BUG=

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

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

10 years agoMake Function.length and Function.name configurable properties.
rossberg@chromium.org [Fri, 7 Feb 2014 14:55:30 +0000 (14:55 +0000)]
Make Function.length and Function.name configurable properties.

ES6 makes the Function object properties "length" and "name"
configurable; switch the implementation over to follow that.

Doing so exposed a problem in the handling of non-writable, but
configurable properties backed by foreign callback accessors
internally. As an optimization, if such an accessor property is
re-defined with a new value, its setter was passed the new value
directly, keeping the property as an accessor property. However, this
is not correct should the property be non-writable, as its setter will
then simply ignore the updated value. Adjust the enabling logic for
this optimization accordingly, along with adding a test.

LOG=N
R=rossberg@chromium.org, rossberg
BUG=v8:3045

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

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

10 years agoRevert "Fix inconsistencies wrt whitespaces."
yangguo@chromium.org [Fri, 7 Feb 2014 14:13:00 +0000 (14:13 +0000)]
Revert "Fix inconsistencies wrt whitespaces."

This reverts r19196.

TBR=mstarzinger@chromium.org

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

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

10 years agoUnify function parameter checking in PreParser and Parser.
marja@chromium.org [Fri, 7 Feb 2014 12:44:45 +0000 (12:44 +0000)]
Unify function parameter checking in PreParser and Parser.

This also makes the "delayed strict mode violations" mechanism in PreParser
unnecessary.

The attached tests didn't pass before this CL but now they do.

BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org

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

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

10 years agoFix inconsistencies wrt whitespaces.
yangguo@chromium.org [Fri, 7 Feb 2014 12:34:45 +0000 (12:34 +0000)]
Fix inconsistencies wrt whitespaces.

\u0085 (NEL) is now considered a whitespace in accordance to http://www.unicode.org/Public/6.3.0/ucd/PropList.txt

R=mstarzinger@chromium.org
BUG=v8:3109
LOG=Y

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

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

10 years agoMake LeakSanitizer happy, part 3.
svenpanne@chromium.org [Fri, 7 Feb 2014 12:17:45 +0000 (12:17 +0000)]
Make LeakSanitizer happy, part 3.

Fixed a few more cctests and removed some which were broken for ages
and/or tested nothing useful anymore.

Note that cctests are now fully LeakSanitized (at least on x64)!

R=dcarney@chromium.org

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

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

10 years agoAdd basic support for STL containers allocated in Zones
danno@chromium.org [Fri, 7 Feb 2014 11:55:11 +0000 (11:55 +0000)]
Add basic support for STL containers allocated in Zones

R=jkummerow@chromium.org

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

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

10 years agoUnify function name validation in Parser and PreParser.
marja@chromium.org [Fri, 7 Feb 2014 10:47:01 +0000 (10:47 +0000)]
Unify function name validation in Parser and PreParser.

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

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

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

10 years agoAdd regression tests for PrePreparser.
marja@chromium.org [Fri, 7 Feb 2014 10:28:00 +0000 (10:28 +0000)]
Add regression tests for PrePreparser.

These tests ensure that PreParser doesn't start producing less data when it's
getting refactored.

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

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

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

10 years agoThe allocation sites scratchpad becomes a heap data structure.
hpayer@chromium.org [Fri, 7 Feb 2014 09:54:52 +0000 (09:54 +0000)]
The allocation sites scratchpad becomes a heap data structure.

BUG=
R=mstarzinger@chromium.org, mvstanton@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.35.
bmeurer@chromium.org [Fri, 7 Feb 2014 09:10:56 +0000 (09:10 +0000)]
Prepare push to trunk.  Now working on version 3.24.35.

R=mstarzinger@chromium.org

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

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

10 years agoFix printing of GVN flags.
bmeurer@chromium.org [Fri, 7 Feb 2014 08:59:20 +0000 (08:59 +0000)]
Fix printing of GVN flags.

R=svenpanne@chromium.org

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

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

10 years agoUnify PreParser::ParseIdentifierName and Parser::ParseIdentifierName.
marja@chromium.org [Fri, 7 Feb 2014 08:45:28 +0000 (08:45 +0000)]
Unify PreParser::ParseIdentifierName and Parser::ParseIdentifierName.

No special handling for keywords is needed, since the literal ascii strings for
them work too (see how Parser did it).

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

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

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

10 years agoWin64 fixes.
svenpanne@chromium.org [Fri, 7 Feb 2014 07:44:19 +0000 (07:44 +0000)]
Win64 fixes.

TBR=bmeurer@chromium.org

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

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

10 years ago[Sheriff] Revert "Check elimination temporarily disabled.", "Fix for buildbot failure...
bmeurer@chromium.org [Fri, 7 Feb 2014 07:36:30 +0000 (07:36 +0000)]
[Sheriff] Revert "Check elimination temporarily disabled.", "Fix for buildbot failure after r19102." and "Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing implemented."

This reverts commit r19102, r19105 and r19170 for breaking the
Chrome browser_tests. Will reland once fixed.

R=ishell@chromium.org

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

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

10 years agoMake LeakSanitizer happy, part 2. Fixed register usage on the way.
svenpanne@chromium.org [Fri, 7 Feb 2014 07:06:13 +0000 (07:06 +0000)]
Make LeakSanitizer happy, part 2. Fixed register usage on the way.

Note that according to the System V ABI for AMD64, rbx must be
preserved across calls. We actually crash with clang in the x64
assembler tests without that fix, we were lucky with GCC.

R=yangguo@chromium.org

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

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

10 years agoUse StackArgumentsAccessor to access receiver on stack, use kPCOnStackSize to
haitao.feng@intel.com [Fri, 7 Feb 2014 02:21:18 +0000 (02:21 +0000)]
Use StackArgumentsAccessor to access receiver on stack, use kPCOnStackSize to
access stack argument and use movq instead of movp to operate return address
on stack for x64

R=verwaest@chromium.org

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

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

10 years agoRevert "Implement Microtask Delivery Queue"
rafaelw@chromium.org [Fri, 7 Feb 2014 01:08:50 +0000 (01:08 +0000)]
Revert "Implement Microtask Delivery Queue"

TBR=adamk,rossberg
BUG=

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

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

10 years agoMIPS: Avoid embedding x86 NaN constant in MacroAssembler code when snapshot is created.
plind44@gmail.com [Fri, 7 Feb 2014 00:55:04 +0000 (00:55 +0000)]
MIPS: Avoid embedding x86 NaN constant in MacroAssembler code when snapshot is created.

BUG=
TEST=test262/15.4.4.15-8-b-ii-4
R=plind44@gmail.com

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

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

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

10 years agoCheck elimination temporarily disabled.
ishell@chromium.org [Thu, 6 Feb 2014 17:31:00 +0000 (17:31 +0000)]
Check elimination temporarily disabled.

R=jkummerow@chromium.org

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

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

10 years agoMIPS: swap in global proxy on accessors.
plind44@gmail.com [Thu, 6 Feb 2014 16:45:50 +0000 (16:45 +0000)]
MIPS: swap in global proxy on accessors.

Port r19142 (087bc3e)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoES6: Remove __proto__ setter poison pill
rossberg@chromium.org [Thu, 6 Feb 2014 16:09:45 +0000 (16:09 +0000)]
ES6: Remove __proto__ setter poison pill

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-object.prototype.__proto__

The __proto__ setter should be reusable on other objects.

BUG=v8:2804
LOG=y
R=rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

10 years agoAdd support to automatically search for corresponding architecture ports in merge...
palfia@homejinni.com [Thu, 6 Feb 2014 15:34:46 +0000 (15:34 +0000)]
Add support to automatically search for corresponding architecture ports in merge-to-branch.sh.

BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

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

10 years agoMerge Parser::ReportUnexpectedToken and PreParser::ReportUnexpectedToken.
marja@chromium.org [Thu, 6 Feb 2014 15:10:21 +0000 (15:10 +0000)]
Merge Parser::ReportUnexpectedToken and PreParser::ReportUnexpectedToken.

(I.e., move ReportUnexpectedToken to ParserBase.)

Because of the recent unifications, they now do the same thing.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoOptimized stores of smis on x64 temporarily disabled.
ishell@chromium.org [Thu, 6 Feb 2014 13:16:44 +0000 (13:16 +0000)]
Optimized stores of smis on x64 temporarily disabled.

BUG=338425
LOG=N
R=yangguo@chromium.org

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

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

10 years agoRedo r19140 with better efficiency.
marja@chromium.org [Thu, 6 Feb 2014 13:12:10 +0000 (13:12 +0000)]
Redo r19140 with better efficiency.

Still relevant parts of the original commit message:

Unify paren handling in Parser and PreParser.

It is only needed in (Pre)Parser::ParseExpressionOrLabelledStatement for not
recognizing parenthesized identifiers as labels and in
(Pre)Parser::ParseSourceElements for not recognizing a parenthesized string as
directive prologue.

Parser Expressions don't keep track of whether they're parenthesized, so
PreParser Expressions shouldn't either.

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

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

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

10 years agoRemove special ArrayLength handling already covered by JSObjectFieldAccessors
verwaest@chromium.org [Thu, 6 Feb 2014 13:01:38 +0000 (13:01 +0000)]
Remove special ArrayLength handling already covered by JSObjectFieldAccessors

R=dslomov@chromium.org

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

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

10 years agoTest and fix for _CallFunction intrinsic deoptimization.
jarin@chromium.org [Thu, 6 Feb 2014 12:42:26 +0000 (12:42 +0000)]
Test and fix for _CallFunction intrinsic deoptimization.

I have also cleaned up HOptimizedGraphBuilder::GenerateCallFunction
to use IfBuilder.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoCosmetic cleanup for GVN.
bmeurer@chromium.org [Thu, 6 Feb 2014 12:35:17 +0000 (12:35 +0000)]
Cosmetic cleanup for GVN.

R=hpayer@chromium.org

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

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

10 years agoFixed space leak in DebuggerAgentSession.
svenpanne@chromium.org [Thu, 6 Feb 2014 12:09:08 +0000 (12:09 +0000)]
Fixed space leak in DebuggerAgentSession.

Ownership in this part is still very convoluted and should probably be
cleaned up, this is only the minimal CL needed to fix the leak.

R=yangguo@chromium.org

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

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

10 years agoRevert "Unify paren handling in Parser and PreParser."
marja@chromium.org [Thu, 6 Feb 2014 11:59:16 +0000 (11:59 +0000)]
Revert "Unify paren handling in Parser and PreParser."

This reverts r19140.

Reason: Octane regression.

BUG=
TBR=verwaest@chromium.org

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

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

10 years agoJust calculate pretenuring ratio when needed.
hpayer@chromium.org [Thu, 6 Feb 2014 11:27:08 +0000 (11:27 +0000)]
Just calculate pretenuring ratio when needed.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoswap in global proxy on accessors
dcarney@chromium.org [Thu, 6 Feb 2014 10:50:07 +0000 (10:50 +0000)]
swap in global proxy on accessors

R=verwaest@chromium.org

BUG=

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

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

10 years agoCleanup allocation site pretenuring tracing, added new flag --trace-pretenuring-stati...
hpayer@chromium.org [Thu, 6 Feb 2014 10:30:13 +0000 (10:30 +0000)]
Cleanup allocation site pretenuring tracing, added new flag --trace-pretenuring-statistics.

BUG=
R=bmeurer@chromium.org

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

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

10 years agoUnify paren handling in Parser and PreParser.
marja@chromium.org [Thu, 6 Feb 2014 10:30:02 +0000 (10:30 +0000)]
Unify paren handling in Parser and PreParser.

It is only needed in (Pre)Parser::ParseExpressionOrLabelledStatement for not
recognizing parenthesized identifiers as labels and in
(Pre)Parser::ParseSourceElements for not recognizing a parenthesized string as
directive prologue.

Parser Expressions don't keep track of whether they're parenthesized, so
PreParser Expressions shouldn't either.

In addition, add helper funcs for checking if an Expression is identifier or a
given identifier. (PreParser Expressions can do this.)

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

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

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