platform/upstream/v8.git
9 years agoFix landing candidate pushes.
Michael Achenbach [Thu, 13 Nov 2014 09:22:45 +0000 (10:22 +0100)]
Fix landing candidate pushes.

BUG=chromium:410721
LOG=n
TBR=tandrii@chromium.org
TEST=script_test.py

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

Cr-Commit-Position: refs/heads/master@{#25318}

9 years agoReland "[turbofan] Weakening of types must weaken ranges inside unions."
Jaroslav Sevcik [Thu, 13 Nov 2014 09:02:07 +0000 (10:02 +0100)]
Reland "[turbofan] Weakening of types must weaken ranges inside unions."

This relands commit 4c1f4b796d1c455fc6a023abe145a5e48c4b7b1f.

R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25317}

9 years agoX87: Leaving a generator via an exception causes it to close
Chunyang Dai [Thu, 13 Nov 2014 09:08:37 +0000 (17:08 +0800)]
X87: Leaving a generator via an exception causes it to close

port 24a7ee877e1fe2ba0a52d69061946aeda7c26c10 (r25297)

original commit message:

  Leaving a generator via an exception causes it to close

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25316}

9 years agoMove public symbols to the root set.
Yang Guo [Thu, 13 Nov 2014 08:47:52 +0000 (09:47 +0100)]
Move public symbols to the root set.

This allows serializing public symbols that are embedded in code.

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

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

Cr-Commit-Position: refs/heads/master@{#25315}

9 years agoRevert "Increase the target new space size to the max new space size"
Jochen Eisinger [Thu, 13 Nov 2014 08:42:05 +0000 (09:42 +0100)]
Revert "Increase the target new space size to the max new space size"

TBR=hpayer@chromium.org
BUG=v8:3626
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25314}

9 years ago[turbofan] Avoid useless bit masking in typed lowering.
Benedikt Meurer [Thu, 13 Nov 2014 07:40:46 +0000 (08:40 +0100)]
[turbofan] Avoid useless bit masking in typed lowering.

There's no need to apply the 0x1f mask to right hand sides of shifts if
the input is already in range [0,31].

TEST=cctest,unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25313}

9 years agoRevert "[turbofan] Weakening of types must weaken ranges inside unions."
Jaroslav Sevcik [Thu, 13 Nov 2014 06:10:28 +0000 (07:10 +0100)]
Revert "[turbofan] Weakening of types must weaken ranges inside unions."

This reverts commit 4c1f4b796d1c455fc6a023abe145a5e48c4b7b1f.

TBR=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25312}

9 years ago[turbofan] Weakening of types must weaken ranges inside unions.
Jaroslav Sevcik [Thu, 13 Nov 2014 05:18:26 +0000 (06:18 +0100)]
[turbofan] Weakening of types must weaken ranges inside unions.

BUG=
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25311}

9 years agoRemove dead AST code in For and While statements
Adam Klein [Wed, 12 Nov 2014 18:39:07 +0000 (10:39 -0800)]
Remove dead AST code in For and While statements

R=marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25310}

9 years agoRe-add dot_result_string to heap.h after 5f7b24f7b42
Adam Klein [Wed, 12 Nov 2014 18:33:23 +0000 (10:33 -0800)]
Re-add dot_result_string to heap.h after 5f7b24f7b42

Failed to notice it was still being used in a DCHECK, so removing
it broke the debug build.

TBR=marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25309}

9 years agoRemove unused dot_for and dot_result strings from heap.h
Adam Klein [Wed, 12 Nov 2014 18:18:05 +0000 (10:18 -0800)]
Remove unused dot_for and dot_result strings from heap.h

These appear to have simply been missed in r21972

R=marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25308}

9 years agoSwitch release scripts to pure git.
Michael Achenbach [Wed, 12 Nov 2014 17:54:11 +0000 (18:54 +0100)]
Switch release scripts to pure git.

This removes all svn features from the release scripts.

This also fixes a bug in commit position retrieval.

BUG=chromium:410721
LOG=n
R=tandrii@chromium.org
TBR=tandrii@chromium.org
TEST=script_test.py

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

Cr-Commit-Position: refs/heads/master@{#25307}

9 years agoWhitespace change for the v8 git migration.
Michael Achenbach [Wed, 12 Nov 2014 17:43:38 +0000 (18:43 +0100)]
Whitespace change for the v8 git migration.

Cr-Commit-Position: refs/heads/master@{#25306}

9 years agoMake codereview.settings ready for git.
Michael Achenbach [Wed, 12 Nov 2014 17:33:21 +0000 (18:33 +0100)]
Make codereview.settings ready for git.

BUG=410721
LOG=n
R=agable@chromium.org, tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25305}

9 years agoMIPS: Leaving a generator via an exception causes it to close.
balazs.kilvady@imgtec.com [Wed, 12 Nov 2014 16:56:57 +0000 (16:56 +0000)]
MIPS: Leaving a generator via an exception causes it to close.

Port 757f400246dc45f889cdc0848094c417e44b8854
Port r25297

BUG=v8:3096
LOG=Y
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25304}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix Context::declaration_context to account for script contexts.
dslomov@chromium.org [Wed, 12 Nov 2014 16:45:48 +0000 (16:45 +0000)]
Fix Context::declaration_context to account for script contexts.

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

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

Cr-Commit-Position: refs/heads/master@{#25303}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoSkip regress-crbug-137689.js when running with GC stress
jkummerow@chromium.org [Wed, 12 Nov 2014 16:05:53 +0000 (16:05 +0000)]
Skip regress-crbug-137689.js when running with GC stress

It depends on maps not disappearing prematurely.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25302}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoMIPS: ES6: Add support for super in object literals.
balazs.kilvady@imgtec.com [Wed, 12 Nov 2014 15:03:23 +0000 (15:03 +0000)]
MIPS: ES6: Add support for super in object literals.

Port 84741e76a346e34b018af129b0c15bd5d7b1af15
Port r25271

Original commit message:
This only available under --harmony-classes

BUG=v8:3571
LOG=Y
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25301}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[turbofan] add gap move verifier
dcarney@chromium.org [Wed, 12 Nov 2014 14:53:30 +0000 (14:53 +0000)]
[turbofan] add gap move verifier

R=jarin@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25300}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoLink against librt on solaris for semaphore and scheduler symbols
jochen@chromium.org [Wed, 12 Nov 2014 14:47:49 +0000 (14:47 +0000)]
Link against librt on solaris for semaphore and scheduler symbols

BUG=v8:3358
R=svenpanne@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25299}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoIncrease the target new space size to the max new space size
jochen@chromium.org [Wed, 12 Nov 2014 14:46:20 +0000 (14:46 +0000)]
Increase the target new space size to the max new space size

Assuming a page creates a low of objects that however will soon die
after page load, delaying the first scavange will hopefully decrease the
amount of time spent during page load without a later penalty when we
have to scavenge a large but mostly dead new space

BUG=v8:3626
R=hpayer@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#25298}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoLeaving a generator via an exception causes it to close
wingo@igalia.com [Wed, 12 Nov 2014 14:28:53 +0000 (14:28 +0000)]
Leaving a generator via an exception causes it to close

R=rossberg@chromium.org
BUG=v8:3096
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25297}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoTemporarily disable test due to not being compatible with the serializer.
yangguo@chromium.org [Wed, 12 Nov 2014 14:26:42 +0000 (14:26 +0000)]
Temporarily disable test due to not being compatible with the serializer.

TBR=dslomov@chromium.org
BUG=v8:3689
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25296}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix copyright headers.
bmeurer@chromium.org [Wed, 12 Nov 2014 13:29:08 +0000 (13:29 +0000)]
Fix copyright headers.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25295}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRe-enable serialization under harmony-scoping.
dslomov@chromium.org [Wed, 12 Nov 2014 13:12:17 +0000 (13:12 +0000)]
Re-enable serialization under harmony-scoping.

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

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

Cr-Commit-Position: refs/heads/master@{#25294}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoDisable top level serialization under harmony_scoping. It has broken tests.
dslomov@chromium.org [Wed, 12 Nov 2014 12:23:13 +0000 (12:23 +0000)]
Disable top level serialization under harmony_scoping. It has broken tests.

TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25293}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[arm] Remove code duplication in instruction selector. Refactoring.
bmeurer@chromium.org [Wed, 12 Nov 2014 12:07:48 +0000 (12:07 +0000)]
[arm] Remove code duplication in instruction selector. Refactoring.

TEST=unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25292}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoVarious clean-ups after top-level lexical declarations are done.
dslomov@chromium.org [Wed, 12 Nov 2014 11:34:09 +0000 (11:34 +0000)]
Various clean-ups after top-level lexical declarations are done.

1. Global{Context,Scope}=>Script{Context,Scope}
2. Enable fixed tests
3. Update comments

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

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

Cr-Commit-Position: refs/heads/master@{#25291}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoSwitch 'make builddeps' to use HTTPS everywhere.
mstarzinger@chromium.org [Wed, 12 Nov 2014 10:11:53 +0000 (10:11 +0000)]
Switch 'make builddeps' to use HTTPS everywhere.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25290}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoCorrectly compute line numbers in functions from the function constructor.
yangguo@chromium.org [Wed, 12 Nov 2014 10:06:19 +0000 (10:06 +0000)]
Correctly compute line numbers in functions from the function constructor.

R=aandrey@chromium.org
BUG=chromium:109362
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25289}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[turbofan] Use cbz/cbnz when possible on arm64.
baptiste.afsa@arm.com [Wed, 12 Nov 2014 10:06:12 +0000 (10:06 +0000)]
[turbofan] Use cbz/cbnz when possible on arm64.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25288}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoZap prototype transitions in release mode, too.
jarin@chromium.org [Wed, 12 Nov 2014 10:01:45 +0000 (10:01 +0000)]
Zap prototype transitions in release mode, too.

R=ulan@chromium.org
BUG=431559
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25287}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoDouble unboxing tests fixed.
ishell@chromium.org [Wed, 12 Nov 2014 09:47:32 +0000 (09:47 +0000)]
Double unboxing tests fixed.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25286}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix bug in graph copy while inlining loops.
mstarzinger@chromium.org [Wed, 12 Nov 2014 09:46:51 +0000 (09:46 +0000)]
Fix bug in graph copy while inlining loops.

R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoop

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

Cr-Commit-Position: refs/heads/master@{#25285}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemove unique static RegExpEmpty instance.
yangguo@chromium.org [Wed, 12 Nov 2014 09:43:56 +0000 (09:43 +0000)]
Remove unique static RegExpEmpty instance.

R=marja@chromium.org
BUG=chromium:430652
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25284}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix scheduler for floating non-naked non-empty loops.
mstarzinger@chromium.org [Wed, 12 Nov 2014 09:38:33 +0000 (09:38 +0000)]
Fix scheduler for floating non-naked non-empty loops.

R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithLoop

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

Cr-Commit-Position: refs/heads/master@{#25283}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoReorder Error properties.
yangguo@chromium.org [Wed, 12 Nov 2014 09:28:17 +0000 (09:28 +0000)]
Reorder Error properties.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25282}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoScheduler checks that end block doesn't have successors.
mstarzinger@chromium.org [Wed, 12 Nov 2014 09:19:35 +0000 (09:19 +0000)]
Scheduler checks that end block doesn't have successors.

R=jarin@chromium.org
TEST=cctest/test-scheduler/RPOLoop

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

Cr-Commit-Position: refs/heads/master@{#25281}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoX87: ES6: Add support for super in object literals
weiliang.lin@intel.com [Wed, 12 Nov 2014 08:32:50 +0000 (08:32 +0000)]
X87:  ES6: Add support for super in object literals

port 721ff07f5901a9bf9ccacf0356a2c10dc452f32d (r25271).

original commit message:

  ES6: Add support for super in object literals

  This only available under --harmony-classes

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25280}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoReland "Fix stepping in for-loops."
yangguo@chromium.org [Wed, 12 Nov 2014 08:25:59 +0000 (08:25 +0000)]
Reland "Fix stepping in for-loops."

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

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

Cr-Commit-Position: refs/heads/master@{#25279}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix windows build (static_cast missing).
yangguo@chromium.org [Wed, 12 Nov 2014 08:15:30 +0000 (08:15 +0000)]
Fix windows build (static_cast missing).

TBR=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25278}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix gn build.
yangguo@chromium.org [Wed, 12 Nov 2014 08:11:57 +0000 (08:11 +0000)]
Fix gn build.

TBR=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25277}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoAbstract string building in JSON-stringifier into IncrementalStringBuilder.
yangguo@chromium.org [Wed, 12 Nov 2014 08:04:41 +0000 (08:04 +0000)]
Abstract string building in JSON-stringifier into IncrementalStringBuilder.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25276}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoSwitch DEPS to git.
machenbach@chromium.org [Tue, 11 Nov 2014 22:07:08 +0000 (22:07 +0000)]
Switch DEPS to git.

BUG=415464
LOG=n
R=agable@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25274}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRename v8::Exception::GetMessage to CreateMessage.
aandrey@chromium.org [Tue, 11 Nov 2014 21:44:38 +0000 (21:44 +0000)]
Rename v8::Exception::GetMessage to CreateMessage.

This is to avoid renaming to GetMessageW/GetMessageA on Windows.

API=v8::Exception::CreateMessage
R=yangguo@chromium.org, loislo
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25273}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoClasses: Add support for arguments in default constructor
arv@chromium.org [Tue, 11 Nov 2014 21:35:27 +0000 (21:35 +0000)]
Classes: Add support for arguments in default constructor

This is currently done by generating a default constructor that looks
like this:

  constructor() {
    %DefaultConstructorSuperCall();
  }

The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.

This is the second try. The first failed because the test was using a
array that was too large for Function.prototype.apply.

Revert "Revert "Classes: Add support for arguments in default constructor""

This reverts commit 43aa7e541df56a132608b8b4217e9da84575e4f8.

BUG=v8:3672
LOG=Y
TBR=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25272}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoES6: Add support for super in object literals
arv@chromium.org [Tue, 11 Nov 2014 19:54:21 +0000 (19:54 +0000)]
ES6: Add support for super in object literals

This only available under --harmony-classes

BUG=v8:3571
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25271}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoCorrectly handle Array unshift/splices that move elements past the max length of...
adamk@chromium.org [Tue, 11 Nov 2014 19:07:29 +0000 (19:07 +0000)]
Correctly handle Array unshift/splices that move elements past the max length of an Array

BUG=v8:2615
LOG=n
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25270}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRevert "Classes: Add support for arguments in default constructor"
arv@chromium.org [Tue, 11 Nov 2014 16:22:14 +0000 (16:22 +0000)]
Revert "Classes: Add support for arguments in default constructor"

This reverts commit 3f4ea6c91a962a04407c79f08e5c86ce9ff2911a.

Broke tests on Mac64

http://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/923/steps/Check/logs/classes

BUG=v8:3672
TBR=dslomov@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25269}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoClasses: Add support for arguments in default constructor
arv@chromium.org [Tue, 11 Nov 2014 15:54:33 +0000 (15:54 +0000)]
Classes: Add support for arguments in default constructor

This is currently done by generating a default constructor that looks
like this:

  constructor() {
    %DefaultConstructorSuperCall();
  }

The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.

BUG=v8:3672
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25268}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoDon't print inlined function ID in --trace-hydrogen
wingo@igalia.com [Tue, 11 Nov 2014 15:53:42 +0000 (15:53 +0000)]
Don't print inlined function ID in --trace-hydrogen

FunctionLiteral has two purposes: it is a unit of compilation, and it is
also an expression.  Its id() is only for the latter purpose, used by
the continuation of the closure, not by the closure itself.

When we inline, we treat the FunctionLiteral as a unit of compilation,
not as an expression, and as such the FunctionLiteral doesn't have any
meaningful ID.  The right thing to do is not to access the ID when
printing the hydrogen expression.

R=svenpanne@chromium.org, vegorov@google.com
BUG=v8:3680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25267}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoReland "Avoid some unnecessary fast-properties map creations."
jkummerow@chromium.org [Tue, 11 Nov 2014 15:40:51 +0000 (15:40 +0000)]
Reland "Avoid some unnecessary fast-properties map creations."

This relands commit ea74f0f85a7730879a2f17721629f93525886092.

The revert was due to failures in cctest/test-heap/ReleaseOverReservedPages,
caused by apparent changes to memory layout and fragmentation of the
first page. Eliminating a situation in messages.js where this CL has had
an effect on map transitions seems to solve the issue.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25266}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoSimplify scheduler API by removing zone scopes.
mstarzinger@chromium.org [Tue, 11 Nov 2014 15:29:12 +0000 (15:29 +0000)]
Simplify scheduler API by removing zone scopes.

R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25265}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoharmony-scoping: Implement StoreIC handler for stores to global contexts.
dslomov@chromium.org [Tue, 11 Nov 2014 15:15:42 +0000 (15:15 +0000)]
harmony-scoping: Implement StoreIC handler for stores to global contexts.

R=ishell@chromium.org, adamk@chromium.org, rossberg@chromium.org, verwaest@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25264}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemove V8.ZoneSegmentBytes.
marja@chromium.org [Tue, 11 Nov 2014 14:27:26 +0000 (14:27 +0000)]
Remove V8.ZoneSegmentBytes.

1) It's unused. 2) Since Zones can be used on a background thread, the Zone
cannot just access this counter from the Isolate, so keeping this counter up to
date would require extra work. Better to just remove it.

BUG=431860
LOG=n
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25263}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemove PhiReducer.
titzer@chromium.org [Tue, 11 Nov 2014 12:02:56 +0000 (12:02 +0000)]
Remove PhiReducer.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25262}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemoved CSCOPE artifact.
svenpanne@chromium.org [Tue, 11 Nov 2014 11:52:42 +0000 (11:52 +0000)]
Removed CSCOPE artifact.

TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25261}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemoved gcc_version magic from our GYP files, we don't support GCC 4.4 anymore.
svenpanne@chromium.org [Tue, 11 Nov 2014 11:47:07 +0000 (11:47 +0000)]
Removed gcc_version magic from our GYP files, we don't support GCC 4.4 anymore.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25260}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoharmony-scoping: Implement LoadIC handler for loads from global contexts.
dslomov@chromium.org [Tue, 11 Nov 2014 11:16:30 +0000 (11:16 +0000)]
harmony-scoping: Implement LoadIC handler for loads from global contexts.

R=ishell@chromium.org, adamk@chromium.org, rossberg@chromium.org, verwaest@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25259}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoReland "In-object double fields unboxing (for 64-bit only)."
ishell@chromium.org [Tue, 11 Nov 2014 10:24:52 +0000 (10:24 +0000)]
Reland "In-object double fields unboxing (for 64-bit only)."

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25258}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoAdd optional max elements limit for Map/Set mirror iterator preview.
aandrey@chromium.org [Tue, 11 Nov 2014 09:46:40 +0000 (09:46 +0000)]
Add optional max elements limit for Map/Set mirror iterator preview.

R=yangguo@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25257}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoPowerPC specific sub-directories.
svenpanne@chromium.org [Tue, 11 Nov 2014 08:29:54 +0000 (08:29 +0000)]
PowerPC specific sub-directories.

Technically, this is https://codereview.chromium.org/571173003/ from Andrew Low <andrew_low@ca.ibm.com>.

TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25255}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix test driver json output.
machenbach@chromium.org [Tue, 11 Nov 2014 06:06:20 +0000 (06:06 +0000)]
Fix test driver json output.

TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25254}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoMapCache simplification. It is now a FixedArray that maps number of properties to...
ishell@chromium.org [Mon, 10 Nov 2014 18:03:50 +0000 (18:03 +0000)]
MapCache simplification. It is now a FixedArray that maps number of properties to a WeakCell with a Map.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25253}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRevert "In-object double fields unboxing (for 64-bit only)."
verwaest@chromium.org [Mon, 10 Nov 2014 17:43:51 +0000 (17:43 +0000)]
Revert "In-object double fields unboxing (for 64-bit only)."
Revert "Fixes for Windows and Mac builds after r25250."
TBR=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25252}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFixes for Windows and Mac builds after r25250.
ishell@chromium.org [Mon, 10 Nov 2014 16:54:55 +0000 (16:54 +0000)]
Fixes for Windows and Mac builds after r25250.

R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25251}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoIn-object double fields unboxing (for 64-bit only).
ishell@chromium.org [Mon, 10 Nov 2014 16:34:30 +0000 (16:34 +0000)]
In-object double fields unboxing (for 64-bit only).

This CL introduces LayoutDescriptor which is responsible for tracking which in-object fields are tagged and which are not.
LayoutDescriptor field added to Map. Currently unboxing is disabled.

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

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

Cr-Commit-Position: refs/heads/master@{#25250}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix has_constant_parameter_count() confusion in LReturn
jkummerow@chromium.org [Mon, 10 Nov 2014 15:24:58 +0000 (15:24 +0000)]
Fix has_constant_parameter_count() confusion in LReturn

BUG=chromium:431602
LOG=y
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25249}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix bugs in simplified lowering relating to int32/uint32 signs.
titzer@chromium.org [Mon, 10 Nov 2014 14:28:09 +0000 (14:28 +0000)]
Fix bugs in simplified lowering relating to int32/uint32 signs.

Lowering of NumberToUint32 and NumberToInt32 was not correctly accounting for the sign of the input and the sign of the output, emitting the wrong representation changes.

Along the way, I've found cases where MachineOperatorBuilder would break if fed a machine type for loads or stores that was not cached, requiring MachineOperatorBuilder to take zone to allocate operators for these cases.

R=bmeurer@chromium.org, jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25247}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix serialization of expected outcomes in test driver.
machenbach@chromium.org [Mon, 10 Nov 2014 14:17:50 +0000 (14:17 +0000)]
Fix serialization of expected outcomes in test driver.

The outcomes are saved as a set and need to be converted into
a list to be json-serializable.

TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25246}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoReland "[turbofan] Fix select lowering" with fix.
bmeurer@chromium.org [Mon, 10 Nov 2014 11:55:20 +0000 (11:55 +0000)]
Reland "[turbofan] Fix select lowering" with fix.

Select lowering must not merge Select nodes that depend on each other,
because the resulting graph is not schedulable.

TEST=unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25245}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix change log creation in push script.
machenbach@chromium.org [Mon, 10 Nov 2014 11:52:00 +0000 (11:52 +0000)]
Fix change log creation in push script.

BUG=chromium:408523
LOG=n
TBR=tandrii@chromium.org
TEST=script_test.py

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

Cr-Commit-Position: refs/heads/master@{#25244}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoMIPS: Resolve chromium and android webview build conflicts.
dusan.milosavljevic@imgtec.com [Mon, 10 Nov 2014 11:47:54 +0000 (11:47 +0000)]
MIPS: Resolve chromium and android webview build conflicts.

The mips related gyp variables and compiler flags for webview
and chromium builds are set externally. The CL ensures this
behaviour and prevents conflicts in configuration with standalone builds.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25243}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[turbofan] add register assignment verifier
dcarney@chromium.org [Mon, 10 Nov 2014 11:28:54 +0000 (11:28 +0000)]
[turbofan] add register assignment verifier

R=jarin@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25242}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemoved dead WriteInt32ToHeapNumberStub.
svenpanne@chromium.org [Mon, 10 Nov 2014 10:48:38 +0000 (10:48 +0000)]
Removed dead WriteInt32ToHeapNumberStub.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25241}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoMore tests for toplevel lexical scope
rossberg@chromium.org [Mon, 10 Nov 2014 10:46:37 +0000 (10:46 +0000)]
More tests for toplevel lexical scope

R=dslomov@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25240}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRevert "[turbofan] Fix select lowering."
bmeurer@chromium.org [Mon, 10 Nov 2014 10:43:03 +0000 (10:43 +0000)]
Revert "[turbofan] Fix select lowering."

This reverts commit cf08e8d70ff0fa35dd315ddc430b743bb04c89cf for
breaking Embenchen bullet.

TBR=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25238}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoUpgrade version and change log after branch.
machenbach@chromium.org [Mon, 10 Nov 2014 10:40:59 +0000 (10:40 +0000)]
Upgrade version and change log after branch.

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

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

Cr-Commit-Position: refs/heads/master@{#25237}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[turbofan] Fix select lowering.
bmeurer@chromium.org [Mon, 10 Nov 2014 10:29:37 +0000 (10:29 +0000)]
[turbofan] Fix select lowering.

Select lowering must not merge Select nodes that depend on each other,
because the resulting graph is not schedulable.

TEST=unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25236}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoAdd expected outcomes to json test output.
machenbach@chromium.org [Mon, 10 Nov 2014 10:26:20 +0000 (10:26 +0000)]
Add expected outcomes to json test output.

BUG=
R=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25235}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRevert "Fix stepping in for-loops."
yangguo@chromium.org [Mon, 10 Nov 2014 09:35:28 +0000 (09:35 +0000)]
Revert "Fix stepping in for-loops."

TBR=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25233}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoFix stepping in for-loops.
yangguo@chromium.org [Mon, 10 Nov 2014 09:05:48 +0000 (09:05 +0000)]
Fix stepping in for-loops.

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

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

Cr-Commit-Position: refs/heads/master@{#25231}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoX87: Try avoiding MISS for callic monomorphic case.
weiliang.lin@intel.com [Mon, 10 Nov 2014 05:50:51 +0000 (05:50 +0000)]
X87: Try avoiding MISS for callic monomorphic case.

port 6412c8ba70f2331aae0f21b968dd051b2320b947 (r25207)

original commit message:

  Try avoiding MISS for callic monomorphic case.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25230}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoResolve race condition with GC in CompilationCacheTable::Put.
jarin@chromium.org [Mon, 10 Nov 2014 05:50:11 +0000 (05:50 +0000)]
Resolve race condition with GC in CompilationCacheTable::Put.

The trouble is that the AsHandle method can allocate and thus
invoke GC, which could empty the table while we are updating it.

BUG=chromium:430880
LOG=N
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25229}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[arm] Recognize SXTB, SXTH, UXTB and UXTH.
bmeurer@chromium.org [Mon, 10 Nov 2014 05:48:38 +0000 (05:48 +0000)]
[arm] Recognize SXTB, SXTH, UXTB and UXTH.

TEST=cctest,msjunit/asm,unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25228}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoX87: Turn ToNumberStub into a PlatformCodeStub again.
weiliang.lin@intel.com [Mon, 10 Nov 2014 04:53:15 +0000 (04:53 +0000)]
X87: Turn ToNumberStub into a PlatformCodeStub again.

port b6737c56eaf51d63ab83b6529f657c15f834623c (r25187)

original commit message:

  Turn ToNumberStub into a PlatformCodeStub again.

  The HydrogenCodeStub is too expensive and there's no easy way to reduce
  this cost, so turning it into a PlatformCodeStub solves that problem until
  we can use TurboFan for code stubs.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25227}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoX87: fix one GC issue.
weiliang.lin@intel.com [Mon, 10 Nov 2014 04:47:19 +0000 (04:47 +0000)]
X87: fix one GC issue.

 The incorrect parameter number is set when recording safepoint.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25226}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoArm64: Remove forced csp alignment to 16 byte values for Nvidia chips.
rmcilroy@chromium.org [Fri, 7 Nov 2014 23:34:13 +0000 (23:34 +0000)]
Arm64: Remove forced csp alignment to 16 byte values for Nvidia chips.

Remove the forced alignment of csp to 16 byte values on Nvidia chips.
Benchmarks on current devices show that this is no longer required.

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

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

Cr-Commit-Position: refs/heads/master@{#25225}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRevert "Avoid some unnecessary fast-properties map creations."
arv@chromium.org [Fri, 7 Nov 2014 18:49:24 +0000 (18:49 +0000)]
Revert "Avoid some unnecessary fast-properties map creations."

This reverts commit e1f23eab4255d63344011dfb885b8e8962cb60e2.

Broke cctest/test-heap/ReleaseOverReservedPages on a bunch of builders

http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/928/steps/Check/logs/ReleaseOverReservedPa..

BUG=None
LOG=N
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25224}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[turbofan] Optimize add operations to use 'leal' instruction on x64
danno@chromium.org [Fri, 7 Nov 2014 16:47:25 +0000 (16:47 +0000)]
[turbofan] Optimize add operations to use 'leal' instruction on x64

Add MemoryOperandMatcher that recognizes node clusters in the form
[%r1 + %r2*SCALE + OFFSET] and explicit support in the x64 Int32Add
selector to use it to translate complex adds to 'leal' instructions.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25223}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoClasses: Partial fix for constructor not calling super
arv@chromium.org [Fri, 7 Nov 2014 16:39:00 +0000 (16:39 +0000)]
Classes: Partial fix for constructor not calling super

Introduce two new function kind, one for default constructor and one
for default constructor call super. Then when we are about to pares
these we just generate the correct AST in source.

BUG=v8:3661, v8:3672
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25222}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoAvoid some unnecessary fast-properties map creations.
jkummerow@chromium.org [Fri, 7 Nov 2014 16:33:08 +0000 (16:33 +0000)]
Avoid some unnecessary fast-properties map creations.

(1) When we have just normalized and re-fastified a map, we don't need to copy it again to set the is_prototype bit.
(2) When defining accessors causes a non-prototype object to go slow, don't force re-fastification.

BUG=v8:3267
LOG=n
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25221}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoharmony_scoping: Implement lexical bindings at top level
dslomov@chromium.org [Fri, 7 Nov 2014 16:29:13 +0000 (16:29 +0000)]
harmony_scoping: Implement lexical bindings at top level

This implements correct semantics for "extensible" top level lexical scope.
The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context.

When the new script starts executing, it does the following validation:
- checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts.
- invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings
- adds the lexical bindings it introduces to the GlobalContextTable

Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations.

R=adamk@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25220}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoAdd FLAG_trace_maps
jkummerow@chromium.org [Fri, 7 Nov 2014 16:03:11 +0000 (16:03 +0000)]
Add FLAG_trace_maps

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25219}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoMIPS: Try avoiding MISS for callic monomorphic case.
balazs.kilvady@imgtec.com [Fri, 7 Nov 2014 16:01:46 +0000 (16:01 +0000)]
MIPS: Try avoiding MISS for callic monomorphic case.

Port c01061044028f7a31ba51496e44900481005eb38
Port r25207

BUG=
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25218}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoMake scheduler handle floating non-naked loops.
mstarzinger@chromium.org [Fri, 7 Nov 2014 16:01:17 +0000 (16:01 +0000)]
Make scheduler handle floating non-naked loops.

R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithLoop

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

Cr-Commit-Position: refs/heads/master@{#25217}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoTeach TurboFan to call C functions with result_size > 1.
mvstanton@chromium.org [Fri, 7 Nov 2014 15:34:42 +0000 (15:34 +0000)]
Teach TurboFan to call C functions with result_size > 1.

Happily, this fixes WIN64 failures too.

BUG=
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25216}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoScanner: disallow unicode escapes in regexp flags.
marja@chromium.org [Fri, 7 Nov 2014 14:31:54 +0000 (14:31 +0000)]
Scanner: disallow unicode escapes in regexp flags.

The spec explicitly forbids them. V8 never handled them properly either, just
the Scanner accepted them (it had code to add them literally to the
LiteralBuffer) and later on, Regexp constructor disallowed them.

According to the spec, unicode escapes in regexp flags should be an early error
("It is a Syntax Error if IdentifierPart contains a Unicode escape sequence.").

Note that Scanner is still more relaxed about regexp flags than the
spec. Especially, it accepts any identifier parts (not just a small set of
letters) and doesn't check for duplicates.

R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25215}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years ago[turbofan] Fix deoptimization of uint8, uint16 inputs.
jarin@chromium.org [Fri, 7 Nov 2014 14:07:18 +0000 (14:07 +0000)]
[turbofan] Fix deoptimization of uint8, uint16 inputs.

BUG=
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25214}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

9 years agoRemove heap size filter for context disposal garbage collection.
hpayer@chromium.org [Fri, 7 Nov 2014 13:07:04 +0000 (13:07 +0000)]
Remove heap size filter for context disposal garbage collection.

BUG=
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25213}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00